27.11.13, 14:49
0 комментарий
  DLE Хаки

Отображать контент в зависимости от значения дополнительного поля

Примерный бесплатный аналог, вариант хака Отображать/скрывать контент в зависимости от значения дополнительного поля. Прекрасно подойдет для дополнительных полей, типа список, когда нужно просто одно условие без наворотов.

Особенности хака:
1. Нельзя использовать множественный выбор вариантов:

[if_xf field="variant" value="Пятый|Шестой]варианты ваще пофиг[/if_xf]


2. Можно использовать выбор одного варианта:

[if_xf field="variant" value="Пятый]сила в джоулях![/if_xf]



Установка:
В файле /engine/modules/show.full.php найти:

if( strpos( $tpl->copy_template, "[xfvalue_" ) !== false OR strpos( $tpl->copy_template, "[xfgiven_" ) !== false ) {


Заменить на:

if( strpos( $tpl->copy_template, "[xfvalue_" ) !== false OR strpos( $tpl->copy_template, "[xfgiven_" ) !== false OR strpos( $tpl2->copy_template, "[if_xf" ) !== false ) {


Найти еще:

$tpl->copy_template = str_replace( "[xfvalue_{$value[0]}]", $xfieldsdata[$value[0]], $tpl->copy_template );


Добавить ниже:

$tpl->copy_template = preg_replace( "'[if_xf field="{$preg_safe_name}" value="{$xfieldsdata[$value[0]]}"](.+?)[/if_xf]'is", "1", $tpl->copy_template );	
$tpl->copy_template = preg_replace( "'[if_xf field="{$preg_safe_name}" value="(.+?)"](.*?)[/if_xf]'is", "", $tpl->copy_template );


Готово.

Версия DLE: 9.x-10.х
Автор: Grey

Напишите своё мнение