loading...

Авторизация ...

Имя пользователя :
Пароль :
я всё забыл!

Баг-фиксы(DLE 9.0) Ошибка в preview.php

Написал m1kola, 18 октября 2010 | 5 комментариев | рейтинг новости не нравится   +1   нравится Версия для печати
Описание проблемы:
Если вы используете шаблон preview.tpl и для вывода текста полной новости используете только тег {full-story}, то при отсутствии текста полной новости краткая новость не бдует дублироваться при предпросмотре, как это было в более старых версиях.

Решение проблемы:
1. Открыть файл engine/preview.php, найти строки:
if( strlen( $full_story ) < 13 AND strpos( $tpl->copy_template, "{short-story}" ) === false ) {
    $full_story = $short_story;
}

Заменить на:
$fullprevtpl = preg_replace( "'.*\[full-preview\](.*?)\[/full-preview\].*'si", "\\1", $tpl->copy_template );
if( strlen( $full_story ) < 13 AND strpos( $fullprevtpl, "{short-story}" ) === false ) {
    $full_story = $short_story;
}


2. Открыть файл inc/preview.php, найдити строку:
    if( strlen( $full_story ) < 13 AND strpos( $tpl->copy_template, "{short-story}" ) === false ) { $full_story = $short_story; }

Заменить на:
    $fullprevtpl = preg_replace( "'.*\[full-preview\](.*?)\[/full-preview\].*'si", "\\1", $tpl->copy_template );
    if( strlen( $full_story ) < 13 AND strpos( $fullprevtpl, "{short-story}" ) === false ) { $full_story = $short_story; }


PS: Не знаю - может не баг, а фича, но в старых версиях при отсутствии полного текста показывался краткий текст. А пользователи видят, что "полное содержимое" не отображается и дублируют текст.


Отблагодарили: numen, pavel31, ogloed

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

  Экспорт комментариев в RSS
 Сортировать по рейтингу, по дате

Написал Pentaru, 18 октября 2010 в 19:49 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 17, Пользователи
Карма:
Как тогда будет выглядеть полная новость?

Написал m1kola, 19 октября 2010 в 16:20 плохой комментарий   +1   хороший комментарий
Новостей: 10, комментариев: 193, Пользователи
Карма:
При отсутствии полного текста будет выглядеть как короткая новость.

Объясняю на пальцах почему:
Если у вас полная новость выводится вот так:
{short-story}
{full-story}
то эти манипуляции вам не нужны.

Если же полная выводится только по {full-story} и вы используете шаблон preview.tpl, то при отсутствии текста полной новости вместо него отображается текст короткой новости, но в привью этого не видно потому, что движок проверяет 2 условия: есть ли текст полной новости и есть ли тег {short-story} в шаблоне. Причём проверяет криво: смотрит весь шаблон preview.tpl, а не только секцию которая отвечает за вывод полной новости. А так как в preview.tpl есть секция отвечающая за короткую новость и в ней есть {short-story}, то движок, естественно находит этот тег и нечего не выводит потому, что думает, что в шаблоне отвечающем за полную новость есть {short-story}.

Надеюсь понятно объяснил...

Написал Pentaru, 19 октября 2010 в 19:04 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 17, Пользователи
Карма:
m1kola, да спасибо понял уже по первым строчкам)

Написал m1kola, 21 октября 2010 в 14:25 плохой комментарий   0   хороший комментарий
Новостей: 10, комментариев: 193, Пользователи
Карма:
Ок. Я просто решил на всякий случай расписать подробнее...

Написал ogloed, 10 ноября 2010 в 21:21 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 3, Пользователи
Карма:
Спасибо больше, не знаю как остальным, а мне пригодилось, очень сильно.

Информация



Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
Анализ Тиц и PR сайта

[removed][removed] [removed] (adsbygoogle = window.adsbygoogle || []).push({}); [removed]