Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Шаблоны (TPL) » Как не выводить short-story в полной новости если он пустой?

Как не выводить short-story в полной новости если он пустой?


     03.06.2025    Шаблоны (TPL)    Все вопросы » Шаблоны (TPL)    387

вопрос
Как можно сделать теги в fullstory.tpl подобные тегам для доп.полей? Если есть краткое описание показываем его, если нет то другой текст
[full_story]текст который нужно показать/скрыть[/full_story]
[not-full_story]текст который нужно показать/скрыть[/not-full_story]

Ответа пока нет


6 комментариев

rewenas
Юзер

rewenas - 5 июня 2025 12:30 -

Не очень понятно из описания чего именно хотел. Но если вот это:


[short-story]Показать этот текст, если есть краткая новость[/short-story]  
[not-short-story]Показать этот текст, если краткой новости нет[/not-short-story]  


Тогда вот так:

if (!empty($row['short_story'])) {
    $tpl->set('[short-story]', "");
    $tpl->set('[/short-story]', "");
    $tpl->set_block("'\\[not-short-story\\](.*?)\\[/not-short-story\\]'si", "");
} else {
    $tpl->set('[not-short-story]', "");
    $tpl->set('[/not-short-story]', "");
    $tpl->set_block("'\\[short-story\\](.*?)\\[/short-story\\]'si", "");
}

Shura0102
Юзер

Shura0102 - 5 июня 2025 12:40 -

Это в engine/modules/show.full.php после чего ставить?
Я сделал в engine/modules/show.full.php
заменил
$tpl->set( '{short-story}', $row['short_story'] );

на
$tpl->set( '{short-story}', $row['short_story'] );
$tpl->set_block("'\\[short_story\\](.*?)\\[/short_story\\]'si", $row['short_story'] ? '\\1' : '');

Но при таком методе работает
[short-story]Показать этот текст, если есть краткая новость[/short-story]

а как добавить условие
[not-short-story]Показать этот текст, если краткой новости нет[/not-short-story] 

не пойму

TeraMoune
Эксперт

TeraMoune - 5 июня 2025 17:01 -

Для актуальных версий используйте теги условий. Читайте документацию там давно появились теги которые помогают реализовать такие проверки по многим полям.

Принимаю оплату только на карту Мир. Крипту меньше трёхзначной цифры не принимаю.

Shura0102
Юзер

Shura0102 - 5 июня 2025 17:07 -

Для fullstory.tpl ни чего подобного в документации я не вижу

TeraMoune
Эксперт

TeraMoune - 5 июня 2025 19:36 -

Тег называется IF и он для всех шаблонов карточек новостей, буквально последний в документации перед тегами вывода расширенной информации о авторе.

Принимаю оплату только на карту Мир. Крипту меньше трёхзначной цифры не принимаю.

Shura0102
Юзер

Shura0102 - 5 июня 2025 19:49 -

Смотрю в книгу вижу фигу! Спасибо, что направили, я думаю это то что нужно.

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

Похожие вопросы

наверх