Перейти к публикации

Встроить php-код в шаблон


Рекомендованные сообщения

На самом деле, вопрос немного не в сабже...

Есть шаблон. В нём, допустим, обычный блок:


<div class="box">

    {custom category="4" template="custom" aviable="main" from="0" limit="100500" fixed="yes" order="date" cache="no"}

</div>

Но! Нужно чтобы эта строка генерилась в php. Сам php-код встроил (function.php и init.php поменял) - всё работает. Но не могу понять, как сделать так, чтобы

конструкция "{custom ...}" выводилась не простым текстом, а обрабатывалась движком. Сейчас после возврата из функции, " {custom ...}" виден как текст.

Помогите!

Ссылка на сообщение
Поделиться на других сайтах

CyberDron, первый пункт правил

Правила форума Внимание !!!

На данном форуме существуют достаточно жесткие правила, поэтому прежде чем создавать свою тему убедитесь, что вы внимательно их прочитали и поняли.

1. Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку, или вы не хотите публиковать открытой ссылки на ваш сайт, то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке, в случае если пользуетесь платной версией скрипта и обладаете лицензией на скрипт. Если вы пользуетесь демоверсией, то вам необходимо разместить сайт в сети интернет, и только потом обращаться за помощью. По находящимся на локальных компьютерах демоверсиям никакой помощи и поддержки на форуме не оказывается. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован.

и чуток подробнее по вопросу, ты custom вставляешь в .php код?

Ссылка на сообщение
Поделиться на других сайтах

http://печеньеорео.рф

Да, именно так. Блок с "custom" формируется в php-скрипте. И выводится в tpl как текст. А нужно чтобы обрабатывался движком, но в php. )))



Ссылка на сообщение
Поделиться на других сайтах

Спасибо! Но немного не то.

Вот этих блоков:


<div class="box">    {custom category="4" template="custom" aviable="main" from="0" limit="100500" fixed="yes" order="date" cache="no"}</div>

должно быть несколько. Соответственно, все они должны формироваться динамически т.к. напрямую в custom указать category я не могу - они могут меняться в зависимости от разных условий.

Именно поэтому в main.tpl я решил оставить только "{my_function}", а всё остальное генерить именно в этой функции.

Ссылка на сообщение
Поделиться на других сайтах

CyberDron, ты не внимательно посмотрел, там в коде есть

if (stripos ( $tpl->copy_template, "{custom" ) !== false) {

$tpl->copy_template = preg_replace_callback ( "#\\{custom(.+?)\\}#i", "custom_print", $tpl->copy_template );

}

именно этот кусочек и обрабатывает тег {custom}

но как я понимаю, твой .php файл должен лежать в папке engine/modules/ что бы dle обрабатывал его как «своего»

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...