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

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


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

вопрос
Здравствуйте, написал для 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 - 22 июня 2020 07:08 -

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

Anitub
Юзер

Anitub - 22 июня 2020 07:41 -

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

Flash
Эксперт

Flash - 22 июня 2020 07:52 -

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

Anitub
Юзер

Anitub - 22 июня 2020 10:05 -

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

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

dj-avtosh
PHP-developer

dj-avtosh - 22 июня 2020 10:48 -

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


заменить на

echo $c;


в fullstory.tpl

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

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

Flash
Эксперт

Flash - 22 июня 2020 11:02 -

Да какой там пример, элементарно же - https://dle-faq.ru/faq/phpquest/14168-kak-vzyat-znacheniya-dop-polya-dle.html

Anitub
Юзер

Anitub - 22 июня 2020 11:00 -

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

dj-avtosh
PHP-developer

dj-avtosh - 22 июня 2020 11:17 -

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

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

Anitub
Юзер

Anitub - 22 июня 2020 12:01 -

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

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

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх