Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы по вёрстке » Почему обработка переменной в шаблоне "fullstory.tpl" не происходит, выводится как простой текст?

Почему обработка переменной в шаблоне "fullstory.tpl" не происходит, выводится как простой текст?


     скрипты    Общие вопросы по вёрстке, Шаблоны (TPL), Общие вопросы по PHP, Модули    840

вопрос
Здравствуйте, написал для dle небольшой php модуль, в зависимости от названия вашего браузера выводится через переменную "{Viplayer}" в шаблон "fullstory.tpl" определенный видео-плеер. Но обработка переменной в шаблоне "fullstory.tpl" не происходит, выводится как простой текст.
Подключение php модуля производится в шаблоне "fullstory.tpl":
Обратите внимание, содержимое переменной "[xfvalue_pl1]" передаётся в модуль "Viplayer.php".
{include file="engine/modules/Viplayer/Viplayer.php?p=[xfvalue_pl1]"}


Вот сам модуль:
<?php
if(!defined('DATALIFEENGINE')){die("Hacking attempt!");}
$user_agent = $_SERVER["HTTP_USER_AGENT"];
$a = '<script src="/js/videoplayer/avp_default.js" type="text/javascript"></script><center><div id="playerjs1" style="width:100%"></div></center><script>var playerjs1 = new Playerjs({id:"playerjs1", poster:"images/pleer.jpg",file:"video/';
$b = '"});</script>';
if (strpos($user_agent, "Firefox") !== false) $c = "$a$p$b";
else $c = "0";
$tpl->load_template("fullstory.tpl");
$tpl->set('{Viplayer}', $c);
?>

При добавлении в модуль две строчки:
$tpl->compile( 'content' );
$tpl->clear();

Страница вообще не загружается и выводится ошибка: 504 Gateway Time-out.
Если экспортировать код в "show.full.php" с помощью плагина, тогда перестаёт работать переменная "[xfvalue_pl1]".
Такой вариант меня не устраивает.
echo $c;

Помогите пожалуйста исправить ошибку.

Ответа пока нет


9 комментариев

Flash
Эксперт

Flash - -

Про "выводится как простой текст" - не понятно, но 504 ошибка видимо из-за того что происходит зацикливание: вы подключаете модуль в fullstory.tpl, потом в самом же модуле обрабатываете этот же шаблон fullstory.tpl, в котором опять происходит подключение модуля и т.д.

Anitub
Юзер

Anitub - -

И что же делать?

Flash
Эксперт

Flash - -

Код перенести в "show.full.php", значение "[xfvalue_pl1]" получайте из $row['xfields'] (например, с помощью функции "xfieldsdataload")

Anitub
Юзер

Anitub - -

Цитата: Flash
значение "[xfvalue_pl1]" получайте из $row['xfields'] (например, с помощью функции "xfieldsdataload")

Напишите пожалуйста тестовый пример.

dj-avtosh
PHP-developer

dj-avtosh - -

$tpl->load_template("fullstory.tpl");
$tpl->set('{Viplayer}', $c);


заменить на

echo $c;


в fullstory.tpl

{include file="engine/modules/Viplayer/Viplayer.php?p=[xfvalue_pl1]"}

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Flash
Эксперт

Anitub
Юзер

Anitub - -

dj-avtosh,
Такой вариант меня не устраивает.

dj-avtosh
PHP-developer

dj-avtosh - -

тогда я наверно вообще не понял суть вопроса и того, что вы пытаетесь добиться.

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Anitub
Юзер

Anitub - -

Цитата: Flash
Да какой там пример, элементарно же

Благодарю....

Похожие вопросы

наверх