Поддержка {php} в шаблоне

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

Reset
Reset
Репутация: 0
Сообщения: 26
Зарегистрирован: 19.02.2016
С нами: 8 лет 1 месяц

Сообщение #1 Reset » 24.03.2016, 12:24

Я понимаю, что не это не совсем правильно, но как это можно сделать, ибо мне нужно через CURL делать POST.

simplamarket M
Аватара
simplamarket M
Репутация: 1
Сообщения: 42
Зарегистрирован: 29.01.2016
С нами: 8 лет 1 месяц
Сайт Skype

Сообщение #2 simplamarket » 24.03.2016, 14:25

Reset писал(а):Я понимаю, что не это не совсем правильно, но как это можно сделать, ибо мне нужно через CURL делать POST.
Добрый день. Вообще сам смарти такие вставки должен поддерживать. Но делать это из дизайна не рекомендую, так как все возможные ошибки будут отображаться клиенту. Лучше это сделать в каком то обработчике отдельном.
С уважением,
служба поддержки SimplaMarket.ru
Skype: simplamarket

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #3 korshunov » 24.03.2016, 15:53

В файле Smarty/libs/Smarty.class.php изменить или добавить в параметрах
public $allow_php_tag = true;

Но это делать вообще-то не рекомендуется.
Тег {php} по умолчанию отключен в последних версиях Smarty и не нужно его включать. Логика должна быть отделена от шаблона — и это правильно.
Код PHP лучше писать в предназначенных для этого файлах

Reset
Reset
Репутация: 0
Сообщения: 26
Зарегистрирован: 19.02.2016
С нами: 8 лет 1 месяц

Сообщение #4 Reset » 25.03.2016, 13:27

Да я понимаю что не рекомендуется, мне нужно вот такое дело вставить

Код: Выделить всё

<?php       
$apikey = 'c39ff1e14013';
 $auth = base64_encode( 'user:'.$apikey );

            $data = array(
                'apikey'        => $apikey,
                'email_address' => 'мыло их формы подписки',
                'status'        => 'subscribed',
               
            );
            $json_data = json_encode($data);

            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, 'https://us13.api.mailchimp.com/3.0/lists/7b48/members/');
            curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json',
                                                        'Authorization: Basic '.$auth));
            curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0');
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_TIMEOUT, 10);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);                                                                                                                 

            $result = curl_exec($ch);

           
?>

как это грамотно сделать ?
файл лучше всего передавать в index.tpl

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #5 korshunov » 25.03.2016, 13:48

Можно вставить в view/indexView.php

Reset
Reset
Репутация: 0
Сообщения: 26
Зарегистрирован: 19.02.2016
С нами: 8 лет 1 месяц

Сообщение #6 Reset » 28.03.2016, 07:47

Да мне надо передать туда Email подписки, если форма заполнена с мылом

Добавлено спустя 3 часа 47 минут:
korshunov писал(а):Можно вставить в view/indexView.php
Большое спасибо, все вышло!


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 31 гость