Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2014-05-10 00:50:23

Kuronokei
Участник
Зарегистрирован: 2014-05-10
Сообщений: 6
Рейтинг :   

Код php в шаблонах

Подскажите как можно выполнить код php в шаблонах tpl.

Если нет такой возможности, скажите пожалста, как сделеть вот что.

1)  news.table.tpl  содержит   

{% for entry in data %}
{{ entry }}
{% else %}
<div class="info">{{ lang['msgi_no_news'] }}</div>
{% endfor %}
{{ pagination }}

{{ entry }}  - это запись.

2) Я в определённой категории вывожу 4 своих записи с динамическим контентом (допустим он из файла берётся)


Я бы с удовольствием впихнул перед
{% for entry in data %}
{{ entry }}


Табличку со своим контентом, где брал бы его из нужных файлов php кодом, но не могу использовать php в шаблоне...

В какой файл движка в таком случае мне впихнуть свои функции, и как потом передать нужные переменные этому шаблонизатору TWIG ???

Не в сети

#2 2014-05-10 06:32:58

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: Код php в шаблонах

есть плагин адс про ,там создаешь блок ,при настройках выбираешь php ,в шаблон вставляешь переменную {id} где id имя блока

Не в сети

#3 2015-02-08 21:51:44

newbi
Участник
Зарегистрирован: 2011-08-09
Сообщений: 51

Re: Код php в шаблонах

Добрый день. Хочу при ошибке 404, отправлять на е-майл администратора ошибочный URL, UserAgent и http_referer. Правильно я понял : мне надо в шаблон 404.internal.tpl вставить блок ads_pro с соответствующим php кодом (сам код есть)?

Не в сети

#4 2015-02-08 21:56:08

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Код php в шаблонах

Как один из вариантов решения задачи.

Не в сети

#5 2015-02-09 22:12:52

Chris
Участник
Зарегистрирован: 2015-02-06
Сообщений: 43
Рейтинг :   

Re: Код php в шаблонах

А какой второй способ? При первом вылезают ошибки:
NGCMS Runtime error: syntax error, unexpected '='
[ 4]: syntax error, unexpected '='
Stack trace
Line #    File name
2    /data/po2506/public_html/engine/plugins/ads_pro/ads_pro.php(220) : eval()'d code

Не в сети

#6 2015-02-09 22:43:42

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Код php в шаблонах

там код нужно без <?php вставлять

Не в сети

#7 2015-02-09 23:56:28

Chris
Участник
Зарегистрирован: 2015-02-06
Сообщений: 43
Рейтинг :   

Re: Код php в шаблонах

В коде точно нет <?php  и ?>.
И оказывается я не могу ничего делать с уже созданными блоками (( Ни просматривать, ни удалять, ни редактировать . Могу только создавать новые.

Не в сети

#8 2015-02-10 02:30:16

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Код php в шаблонах

Всмысле? Там же есть список блоков, откуда можно делать всё что хочешь.

По поводу ошибки, нужно экранировать кавычки, http://stackoverflow.com/questions/1738 … evald-code

Не в сети

#9 2015-02-10 03:42:42

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,159
Рейтинг :   39 

Re: Код php в шаблонах

Chris, скорее всего у тебя старый плагин, обновись

Не в сети

#10 2015-02-10 06:21:42

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Код php в шаблонах

Альтернативный вариант - написать плагин, который будет отслеживать 404, что-то типа такого.

Не в сети

#11 2015-02-10 13:31:01

Chris
Участник
Зарегистрирован: 2015-02-06
Сообщений: 43
Рейтинг :   

Re: Код php в шаблонах

Сам плагин выглядит так : 1e12d3544067t.jpg
Версия 0.6, код очень простой, без кавычек : phpinfo();
К сожалению, я не программист и в примере 404handler ничего не понял. Как он работает и что выдаёт(должен выдавать)?

Изменено Chris (2015-02-10 17:36:00)

Не в сети

#12 2015-02-10 18:58:19

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Код php в шаблонах

1. На тестовом сайте ads_pro:
http://ngtest01.ngdemo.ru/engine/admin.php?mod=extra-config&plugin=ads_pro&action=list
admin
admin

2. handler404 - позволяет добавить свой код в обработчик 404 страницы. В данном примере просто делается var_dump 123 на 404 странице.

Не в сети

#13 2015-02-11 11:45:42

Chris
Участник
Зарегистрирован: 2015-02-06
Сообщений: 43
Рейтинг :   

Re: Код php в шаблонах

Спасибо за handler404, пока допиливаю его. Но он реально снимает кучу вопросов и проблем.

Не в сети

Подвал раздела

Работает на FluxBB