Название: Отображать/скрывать контент в зависимости от значения дополнительного поля
Автор: rashpil
CMS: DLE ALL
Описание:
Представляю вашему вниманию хак, который позволит отображать или скрывать контент в зависимости от значений дополнительных полей в новости.
Этот хак создаёт специальный тег, который похож на уже известные и очень удобные теги [aviable и [category, поэтому надеюсь, что так же с лёгкостью каждый владелец сайта на DLE, сможет использовать и теги этого хака.
Выглядит он следующим образом:
[if_xf field="variant" value="Пятый"] Текст или html код[/if_xf]
Где:
field – в него записывается имя дополнительного поля, значение которого проверяется.
value – это значение поля. В него может быть записано не одно, а сразу несколько значений, разделяя их знаком |.
Пример:
[if_xf field=" variant " value="Пятый|Шестой] *** Пятый или шестой *** [/if_xf]
И обратный ему тег:
[if_xf_hide field="variant" value="Шестой"] *** Текст или html код *** [/if_xf_hide]
Скроет текст, если в поле variant будет значение: «Шестой». Иначе, будет его отображать. В обратном, соответственно тоже можно использовать несколько значений. Блок будет скрыт, если хоть одно из них задано в дополнительном поле.
Пример:
[if_xf_hide field="variant" value="Пятый|Шестой"] *** Текст или html код *** [/if_xf_hide]
С помощью этого хака можно удобным образом структурировать шаблон новости, опираясь на значения доп полей. Что позволяет например скрыть плеер, только установив галочку в панели редактирования новости.
Правильно построить теги, я помогу после покупки бесплатно.
Например, можно создать дополнительное поле типа «Список» с 2-мя вариантами. И построить в шаблоне следующую конструкцию:
[if_xf field="newfield" value="Нет"] *** Текст 1 *** [/if_xf]
[if_xf field="newfield" value="Есть"] *** Текст 2 ****[/if_xf]
Такая конструкция позволит отображать Текст 1, в случае, если в дополнительном поле задать значение «Нет», а в случае, если выбрано значение «Есть», отобразит Текст 2. Получается что-то вроди конструкции if-else, или если быть точнее if-elseif. Конечно, можно использовать несколько тегов, настроенных на одно поле под ряд и увеличить блок проверки.