Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru Модули для DLE Отображать/скрывать контент в зависимости от значения дополнительного поля

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


     24.04.2013    Модули для DLE    7823    20

Краткая информация о модуле (хаке)

Автор: rashpil
Версия DLE: Все где есть доп поля
Контакты: 419694531
Цена: 100 рублей
Всем привет. Представляю вашему вниманию хак, который позволит отображать или скрывать контент в зависимости от значений дополнительных полей в новости.

Этот хак создаёт специальный тег, который похож на уже известные и очень удобные теги [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. Конечно, можно использовать несколько тегов, настроенных на одно поле под ряд и увеличить блок проверки.

Если вам по прежнему не понятно, как можно пользоваться этим хаком, то советую посмотреть демонстрационное видео

И кстати, при покупке уточняйте, не используете ли UTF-8 версию движка

Комментарии пользователей (20)

Lynat1k
1

373 | 93

Lynat1k - 22 апреля 2013 12:30 - Юзер

купил хак, все отлично работает. спасибо автору=)
кстати по моей просьбе и возникла идея сделать этот хак.

nowheremany
192

1659 | 1292

nowheremany - 25 апреля 2013 09:45 - Эксперт

Я конечно все понимаю, но за 3 строчки одинакового кода платить деньги? не перебор ли?

Благодарность принимаю тут Связь

KaiN_nRg
11 | 5

KaiN_nRg - 25 апреля 2013 23:21 - Юзер

Супер, спасибо! Жду подобного функционала в blocks.pro. ПафНутиЙ ;-)

ПафНутиЙ
1064

3393 | 2433

ПафНутиЙ - 26 апреля 2013 09:23 - Админ

Пока не планирую подобного.

Каков вопрос - таков и ответ. Просто помните об этом.

rashpil
33

232 | 182

rashpil - 26 апреля 2013 17:30 - Эксперт

nowheremany, Да, там не сложная функция. Но цену определяет не только кол-во сил затраченных на создание, но ещё и возможность продать. Т.е. если что-то можно продать, зачем это отдавать бесплатно, даже если это пустяк?

KaiN_nRg, Если в поисках именно работы такого хака в модуле Блок Про, то его можно установить и в него и будет работать прекрасно. Ровно как и в кастом, похожие новости, популярные новости и прочие подобные модули. Если в поисках халявы (Что вообще факт сомнительный, ибо стоит всего стоху), то не советую. В чём смысл разработчикам что-то делать лишний раз, если это "что-то" уже сделал кто-то до них и их продукты без труда можно интегрировать.

Serik
4

408 | 191

Serik - 29 апреля 2013 16:46 - Местный

Есть допполе выбора языка - русский или английский. Может ли модуль, опираясь на то что прописано в допполе, вывести мне картинку-флаг в определённое место в шортстори?

СПАСИБО надо тыкать в кнопку!

rashpil
33

232 | 182

rashpil - 30 апреля 2013 11:50 - Эксперт

Да. Может

stanley
22 | 24

stanley - 3 мая 2013 20:33 - Юзер

Классный хак!!! Спасибо автору за проделанную работу! Все прекрасно работает!!!

Ingmar
9

Ingmar - 26 мая 2013 08:38 - Юзер

Автор в аське отвечает? Второй день пытаюсь достучаться, ноль эмоций.

ret
1

ret - 8 июня 2013 11:34 - Юзер

Отличное решение. Спасибо автору!!!

Kane
12

95 | 31

Kane - 9 июля 2013 13:03 - Юзер

Автор а у тебя есть современный метод связаться с тобой? Например скайп? Или хак уже не продается?

Kane
12

95 | 31

Kane - 9 июля 2013 19:45 - Юзер

Или мыло?

rashpil
33

232 | 182

rashpil - 9 июля 2013 20:29 - Эксперт

В мирку напишешь? :)
Мыло 1rashpil@inbox.ru

Serik
4

408 | 191

Serik - 22 мая 2014 16:02 - Местный

Кто может допилить мод под 10.1 - там в show.short.php немного не так сделано. В 10.0 работало а сейчас нет.

СПАСИБО надо тыкать в кнопку!

vitnet
218

2171 | 930

vitnet - 4 июня 2014 12:35 - Эксперт

Дождитесь автора, может ответит, если нет то ...

Lynat1k
1

373 | 93

Lynat1k - 21 августа 2014 10:01 - Юзер

не работает этот тег
[if_xf field=" variant " value="Пятый|Шестой] *** Пятый или шестой *** [/if_xf]

G-3p
13

179 | 40

G-3p - 22 сентября 2014 06:10 - Юзер

Наткнулся на просторах интернета на этот хак. Автору большое спасибо и желаю, что бы его хаки не сливали)
Так вот, он для fullstory, но я настроил и для shortstory. А вот в custom работать не хочет, хотя особой разницы нет. Может кто подскажет в чём дело?

Serik
4

408 | 191

Serik - 22 сентября 2014 06:55 - Местный

Дайте пожалуйста как для шортстори настроить, если Вы сделали для 10.1 и выше.

СПАСИБО надо тыкать в кнопку!

G-3p
13

179 | 40

G-3p - 22 сентября 2014 07:04 - Юзер

В engine/show.short.php перед первой строкой
$tpl->compile( 'content' );

вставить:
$if_xf_hide = strpos($tpl->copy_template, "[if_xf_hide");
        $if_xf = strpos($tpl->copy_template, "[if_xf");
        
        if ($if_xf OR $if_xf_hide) {
        
            if (count($xfieldsdata) == 0) $xfieldsdata = xfieldsdataload( $row['xfields'] );
        
            if ($if_xf)
                $tpl->copy_template = preg_replace ( "#\\[if_xf field=['\"](.+?)['\"] value=['\"](.+?)['\"]\\]([^\[]+)\\[/if_xf\\]#ies", "if_xfields('\\1', '\\2', '\\3')", $tpl->copy_template );        
            if ($if_xf_hide)
                $tpl->copy_template = preg_replace ( "#\\[if_xf_hide field=['\"](.+?)['\"] value=['\"](.+?)['\"]\\]([^\[]+)\\[/if_xf_hide\\]#ies", "if_xfields('\\1', '\\2', '\\3', false)", $tpl->copy_template );    
            
            unset($xfieldsdata);
        }


Для custom, с show.custom.php я проделывал тоже самое, но оно на сайте не отображается в короткой новости, если выводить новости через custom.

Djinn
2

79 | 4

Djinn - 23 января 2016 05:07 - Юзер

На 10,6 не работает... знает кто как сделать?

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