Проблема с DLE

Petrz
На сайте с 05.04.2011
Offline
107
476

Ребят, помогите пожалуйста, непонятный глюк в ДЛЕ 12.0

Пример:

задаю в main.php что-то типа такого

$imgurl = '[xfgiven_img]';

$tpl->set ( '{imgurl}', $imgurl );

На выходе получаю & # 9 1 ; xfgiven_img] (т.е. ничего не работает из-за замены квадратной скобки на мнемоник & # 9 1 ; (разбил на пробелы иначе код мнемоника форум режет )

Причем переменная задается правильно, через echo выводится без мнемоников. А после выполнения $tpl->set скобка первая становится мнемоником, причем, если брать конструкцию типа [xfgiven_img]/[xfvalue_img][/xfgiven_img][xfnotgiven_img]/images/noimage.jpg[/xfnotgiven_img] , то 2 открывающей скобки будут нормальными, а 3 станут мнемониками.

Если просто задать $imgurl = '['; то выведет без мнемоников скобку

Я уже весь день мучаюсь, не могу понять что за глюк такой.

VertuOzz
На сайте с 20.07.2010
Offline
123
#1

Если не изменяет память, это не глюк, а штатная работа метода set класса dle_template. Фильтруются разные инклюды и доп.поля.

И зачем вставлять эту конструкцию в файлы движка? Для этого есть файлы шаблонов

Petrz
На сайте с 05.04.2011
Offline
107
#2
VertuOzz:
Если не изменяет память, это не глюк, а штатная работа метода set класса dle_template. Фильтруются разные инклюды и доп.поля.

И зачем вставлять эту конструкцию в файлы движка? Для этого есть файлы шаблонов

Ну суть простая, в конфиге задаем какой-нить параметр 1 или 0 допустим и по if else выводим нужное доп поле. Это для массовости использования.

На штатную работу просто не похоже - рандомом мнемоники ставит, зависимости найти не могу

VertuOzz
На сайте с 20.07.2010
Offline
123
#3

Это не рандом, фильтрует вхождение '[xf'. Вот кусок кода метода set в templates.class.php

$var = str_ireplace( "[xf", "***91;xf",  $var );
Petrz
На сайте с 05.04.2011
Offline
107
#4
VertuOzz:
Это не рандом, фильтрует вхождение '[xf'. Вот кусок кода метода set в templates.class.php
$var = str_ireplace( "[xf", "***91;xf",  $var );

Оооо, спасибо огромное! А я думаю почему [xf отрабатывает, а [/xf нет. Очень помогли!

З.Ы. Интересно, зачем это сделали?

WebAlt
На сайте с 02.12.2007
Offline
253
#5
Petrz:
Оооо, спасибо огромное! А я думаю почему [xf отрабатывает, а [/xf нет. Очень помогли!
З.Ы. Интересно, зачем это сделали?

В 13-й ветке DLE в templates.class.php такой строки уже нет.

Petrz
На сайте с 05.04.2011
Offline
107
#6

Скорректировал код, но помогло только избавиться от мнемоника, доп поле не выводит (точнее выводит, но не обрабатывает)...

Вот ведь проблема, видимо отработка доп полей через [xfvalue] происходит до того, как вставляются {imgurl} заданные. Это возможно подправить?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий