Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Запретить вывод короткой новости, если отсутствует полная

Запретить вывод короткой новости, если отсутствует полная


     05.04.2014    Все вопросы » Общие вопросы    4956

вопрос
Здравствуйте. Столкнулся с такой проблемой. На моем сайте вывод новостей осуществляется по следующей схеме: В краткое описание я добавляю только картинку, в полное - только текст.

Итого короткая новость состоит из заголовка и картинки. Полная при помощи тега "{image-1}" берет картинку из короткой и текст из полной и подставляет в красиво оформленный шаблон.

Теперь внимание проблема. После добавленных 100-150 новостей, оказалось так, что не все новости содержат в себе текст. И когда после поле "Полное описание" остается пустым, в полной новости отображаются 2 картинки (первая, как и положено тегом {image-1}, вторая берется из короткой новости, т.к. полная отсутствует.)

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

PS {full-story limit="x"} не предлагать, он конечно поможет, но из-за отсутствия форматирования текст приобретает безобразный вид

Ответил: Sander


Открыть файл engine/modules/show.full.php
Удалить или закомментировать код:
        if( (strlen( $row['full_story'] ) < 13) and (strpos( $tpl->copy_template, "{short-story}" ) === false) ) {
            $row['full_story'] = $row['short_story'];
        }

Запретить вывод короткой новости, если отсутствует полная


Или заменить на:
        if( (strlen( $row['full_story'] ) < 13) and (strpos( $tpl->copy_template, "{short-story}" ) === false) ) {
            $tpl->set_block( "'\\[full-story\\](.*?)\\[/full-story\\]'si", "" );
            $row['full_story'] = $row['short_story'];
        }else{
            $tpl->set("[full-story]","");
            $tpl->set("[/full-story]","");
        }

И использовать теги:
[full-story] текст полного описания [/full-story]

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

dj-avtosh
PHP-developer

dj-avtosh - 5 апреля 2014 13:43 -

На уровне php вполне реализуемо

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

G-3p
Юзер

G-3p - 5 апреля 2014 13:55 -

Раз 10 перечитал, и не мог понять о чём ты. Теперь понял, у меня вчера так было.
В краткой были добавлены картинки и текст, а полная пустая, в итоге дублировались картинки.
Минут 10 дуплился в чём проблема. Как только текст переместил в полную, всё стало норм.
Попробую подумать, хотя куда проще просто точку или ещё что-то поставить в полную новость.
Или вместо полной новости используйте доп. поле. Тоже вариант)

NordSkif
Юзер

NordSkif - 5 апреля 2014 14:47 -

старался как можно подробнее описать проблему. Пока что вставляю в полную новость "описание отсутствует" Но это несколько глаз режет (т.к. еще выводится много другой инфы, посредством доп полей) + придется перебирать старые новости, т.к. там тоже не везде было полное описание.

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

Идеальным решением для меня был бы подобных тег [full-story]...[/full-story] работающий по аналогии с [image-x]... [/image-x] и пр.

Никто не знает как можно сделать так средствами php?

G-3p
Юзер

G-3p - 5 апреля 2014 15:12 -

В разделе новости в настройках.
Скрывать ссылку на полную новость:
Скрывает ссылку на полную новость, если отсутствует полное описание.

Не совсем то, но пригодится.

NordSkif
Юзер

NordSkif - 5 апреля 2014 17:14 -

совершенно не то и даже понятия не имею для чего может пригодиться...

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

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

наверх