Все для CMS » DataLife Engine » Хаки и модули » Вывод блока если заполнены поля

Вывод блока если заполнены поля

  • 0
Данный материал предоставлен сайтом All4Cms.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Вывод блока если заполнены поля.

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

На самом деле с помощью этого хака можно сделать что угодно, что бы не выводилось. Например если не заполнено полной новости то тогда и с краткой новости не переходить на полную. То есть убрать фул_линк, или не выводить картинку.

Реализовать такое не сложно, но так как экспертом в этой системе я не являюсь покопаться пришлось. В общем первое что нужно это найти и открыть файл

/engine/modules/show.full.php

найти строку

$tpl->compile( 'content' );

перед ней вставить:

        if( trim( $row['xfields']) != "" ){
        $tpl->set_block("'\[view-story\](.*?)\[/view-story\]'si", "\\1");
        } else {
        $tpl->set_block("'\[view-story\](.*?)\[/view-story\]'si", "");
        }

По сути модернизируя этот код вы можете заменять например на "short_story", "full_story" или другие дополнительные поля, просто меняете условие в первой строчке.

Когда код вставлен, файл сохранен и залит обратно где лежал, перемещаемся к вашему шаблону, а именно к файлу "fullstory.tpl", в котором нужно прописать такие теги, в том месте где вам нужно 

[view-story]Я не хочу видеть содержимое этого блока[/view-story]

Опять же сохраняете, переходите на сайт и "вуаля" если полная новость пустая то блока не видно.

Вот такой не большой но возможно кому то полезный хак.


  • Хаки и модули
  • 24-02-2023, 00:32
  • 309
Вернуться назад
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.