vakravcov Опубликовано 19 июня, 2014 Жалоба Поделиться Опубликовано 19 июня, 2014 Друзья, подскажите как в новой версии Simpla 2.3.5 включить возможность использования php кода в шаблоне? Ковырять нужно Smarty.class.php но где?Заранее благодарен! Цитата Ссылка на сообщение Поделиться на другие сайты
seolink Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 Поддерживаю не смог тоже Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 Поиск на форуме на фразу "php в шаблоне" сразу дает:http://forum.simplacms.ru/topic/5976-%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-php-%D0%B2-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B5/ Цитата Ссылка на сообщение Поделиться на другие сайты
seolink Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 Да только информация не работает Цитата Ссылка на сообщение Поделиться на другие сайты
Djep Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 Самый простой вариант для 3.5.6 удалить папку Smarty, вместо неё ту что во вложении, далее почистить обе папки Compiled.Теперь в index.tpl можно вставить например {php} phpinfo(); {/php} Цитата Ссылка на сообщение Поделиться на другие сайты
Djep Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 (изменено) Друзья, подскажите как в новой версии Simpla 2.3.5 включить возможность использования php кода в шаблоне? Ковырять нужно Smarty.class.php но где?Заранее благодарен! Поддерживаю не смог тоже Сделать как в посте выше, либо заменить два файла, на те что во вложении Изменено 18 января, 2015 пользователем Djep Цитата Ссылка на сообщение Поделиться на другие сайты
Kasha Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 А смысл в чем? Поставьте первоначальную задачу, расскажу где ошиблись на этапе проектирования логики Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 Djep - зачем все так запутано? В api/Design.php в конструкторе после строки $this->smarty->error_reporting = E_ALL & ~E_NOTICE; пишем: $this->smarty->allow_php_tag = true; Цитата Ссылка на сообщение Поделиться на другие сайты
Djep Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 Djep - зачем все так запутано? В api/Design.php в конструкторе после строки $this->smarty->error_reporting = E_ALL & ~E_NOTICE; пишем: $this->smarty->allow_php_tag = true; Варианты которые я предложил, работаютПредлагаемый Вами вариант, не сработает для 3.5.х так как там в Smarty удален allow_php_tagПроверьте на досуге Цитата Ссылка на сообщение Поделиться на другие сайты
Решение Kors Опубликовано 18 января, 2015 Решение Жалоба Поделиться Опубликовано 18 января, 2015 (изменено) Да, формально Вы правы: не сработает для 3.5.х так как там в Smarty удален allow_php_tag. Так его можно легко добавить в Smarty/libs/Smarty.class.php одной строчкой: public $allow_php_tag; Сомнительно, что Ваш способ с заменой папки намного легче... А можно и максимально просто: в Smarty/libs/Smarty.class.php добавить одну строчку: public $allow_php_tag = truе; Почти то же самое написал Rash по ссылке в третье посте. Вы упорно игнорируете простое легкое решение, изобретая сложный велосипед... Изменено 18 января, 2015 пользователем Kors Цитата Ссылка на сообщение Поделиться на другие сайты
Djep Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 Да, формально Вы правы: не сработает для 3.5.х так как там в Smarty удален allow_php_tag. Так его можно легко добавить в Smarty/libs/Smarty.class.php одной строчкой:public $allow_php_tag; Сомнительно, что Ваш способ с заменой папки намного легче... А можно и максимально просто: в Smarty/libs/Smarty.class.php добавить одну строчку:public $allow_php_tag = truе; Почти то же самое написал Rash по ссылке в третье посте. Вы упорно игнорируете простое легкое решение, изобретая сложный велосипед...Способы которые здесь выложены позволяют пользователю вообще не думать , что и куда добавлять, а получить сразу результат.А если делать самому замену, надо по аналогии с предыдущей Smarty добавить ещё в smarty_security.php public $allow_php_tag = true; public function __construct($smarty) { $this->smarty = $smarty; } Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 У меня работает без такого добавления. Даже если это и нужно, то две простенькие вставки - лучше, чем замена папки с мегабайтом скриптов... А если надо будет еще мелкую настройку с изменением какого параметра в Smarty делать, то надо будет пользователю еще у Вас просить подготовить папку? А если комбинацию из пяти-шести параметров? Такой стиль работы Имперу переплюнет... Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 (изменено) Варианты которые я предложил, работаютПредлагаемый Вами вариант, не сработает для 3.5.х так как там в Smarty удален allow_php_tagПроверьте на досугеНа досуге я перековырял уже много версий смарти...Но 3.5.х еще не встречал. Последнюю что я видел так это 3.1.21 Ну могу дополнить раз того не хватило. Тот же файл api/Design.php заменяем: require_once(dirname(dirname(__FILE__)).'/Smarty/libs/Smarty.class.php'); на: require_once(dirname(dirname(__FILE__)).'/Smarty/libs/SmartyBC.class.php');и в конструкторе: $this->smarty = new Smarty(); меняем на: $this->smarty = new SmartyBC(); Изменено 18 января, 2015 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
Djep Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 А если надо будет еще мелкую настройку с изменением какого параметра в Smarty делать, то надо будет пользователю еще у Вас просить подготовить папку? А если комбинацию из пяти-шести параметров? Такой стиль работы Имперу переплюнет...Я не фрилансер и деньги на Simpla не зарабатываю, и это не стиль работы...........а желание помочьЕсли попросят, сделаю все что в моих силах Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 (изменено) Так его можно легко добавить в Smarty/libs/Smarty.class.php одной строчкой: public $allow_php_tag;Для новых версий смарти - это не поможет. Тут же не просто переменная отсутствует, а вырезаны подключения обработчиков тегов {php}. Теперь они включены в отдельном классе SmartyBC. Постом выше я описал как его подключить Изменено 18 января, 2015 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
Djep Опубликовано 18 января, 2015 Жалоба Поделиться Опубликовано 18 января, 2015 (изменено) Для новых версий смарти - это не поможет.Тут же не просто переменная отсутствует, а вырезаны подключения обработчиков тегов {php}. Теперь они включены в отдельном классе SmartyBC. Постом выше я описал как его подключитьвариант SmartyBC будет работать, проверил Изменено 18 января, 2015 пользователем Djep Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 19 января, 2015 Жалоба Поделиться Опубликовано 19 января, 2015 Все версии Smarty не проверял.Проверял на стандартном дистрибутиве Simpla 2.3.6.Способ А можно и максимально просто: в Smarty/libs/Smarty.class.php добавить одну строчку: public $allow_php_tag = truе; прекрасно работает...Если Ваши сложные способы имеют цель Способы которые здесь выложены позволяют пользователю вообще не думать , что и куда добавлять, а получить сразу результат.то сомневаюсь, что простой пользователь будет изучать версии Smarty и уж тем более заменять версию самостоятельно без особых причин. А делать на перспективу - может, когда-то разработчик изменит версию Smarty в будущем дистрибутиве - это бежать впереди паровоза...Кстати, этот разработчик уже полгода новых версий не выпускал. И те новые версии, которые были в середине 2014 года, нового содержат не сильно много. А ошибок в Simpla, в том числе и серьезных, которые надо было бы исправить, найдено достаточно... Цитата Ссылка на сообщение Поделиться на другие сайты
Djep Опубликовано 19 января, 2015 Жалоба Поделиться Опубликовано 19 января, 2015 Все версии Smarty не проверял.Проверял на стандартном дистрибутиве Simpla 2.3.6.Способ А можно и максимально просто: в Smarty/libs/Smarty.class.php добавить одну строчку: public $allow_php_tag = truе; прекрасно работает... Если Ваши сложные способы имеют цель то сомневаюсь, что простой пользователь будет изучать версии Smarty и уж тем более заменять версию самостоятельно без особых причин. А делать на перспективу - может, когда-то разработчик изменит версию Smarty в будущем дистрибутиве - это бежать впереди паровоза... Кстати, этот разработчик уже полгода новых версий не выпускал. И те новые версии, которые были в середине 2014 года, нового содержат не сильно много. А ошибок в Simpla, в том числе и серьезных, которые надо было бы исправить, найдено достаточно...Столько словесного поноса в мой адрес , да ещё и от плюшевого давненько не встречал Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.