Ошибка в preview.php в DLE 9.0
Описание проблемы:
Если вы используете шаблон preview.tpl и для вывода текста полной новости используете только тег {full-stоry}, то при отсутствии текста полной новости краткая новость не будет дублироваться при предпросмотре, как это было в более старых версиях.
Решение проблемы:
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; }
P.S.: Не знаю - может не баг, а фича, но в старых версиях при отсутствии полного текста показывался краткий текст. А пользователи видят, что "полное содержимое" не отображается и дублируют текст.
Если вы используете шаблон preview.tpl и для вывода текста полной новости используете только тег {full-stоry}, то при отсутствии текста полной новости краткая новость не будет дублироваться при предпросмотре, как это было в более старых версиях.
Решение проблемы:
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; }
P.S.: Не знаю - может не баг, а фича, но в старых версиях при отсутствии полного текста показывался краткий текст. А пользователи видят, что "полное содержимое" не отображается и дублируют текст.