
В новой версии dle 9.4 как известно, есть возможность настроить вид вывода похожих новостей с разными параметрами.
Однако возникла проблема при использовании тега с параметрами {text limit="150"} текст обрезается по количеству букв, но не очень красиво, так как казалось бы должна проходить фильтрация HTML тегов, но вот она не проходит и в результате вывод картинок получается не таким как хотелось бы(на картинке правый нижний блок - картинка не на своём месте).
Вот решения, предлагаю выводить не по количеству символов, а по количеству слов.
1. Файл: /engine/modules/functions.php
!!! Для тех у кого установлен модуль Tracker for DLE этот пунк не нужно выполнять !!!
После:
if( ! defined( 'DATALIFEENGINE' ) ) { die( "Hacking attempt!" );}
Добавить:
function max_word($text, $counttext = 50, $sep = ' ') { $words = preg_split('/ /', $text); if(count($words)>$counttext) $text = join($sep, array_slice($words, 0, $counttext)); return $text;}
2. Файл: /engine/modules/show.full.php
Найти:
$related['short_story'] = strip_tags( $related['short_story'], "<br>" ); $related['short_story'] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", $related['short_story'] ) )); if( $count AND dle_strlen( $related['short_story'], $config['charset'] ) > $count ) { $related['short_story'] = dle_substr( $related['short_story'], 0, $count, $config['charset'] ); if( ($temp_dmax = dle_strrpos( $related['short_story'], ' ', $config['charset'])) ) $related['short_story'] = dle_substr( $related['short_story'], 0, $temp_dmax, $config['charset'] ); }
Заменить на:
$related['short_story'] = strip_tags($related['short_story']);$related['short_story'] = max_word($related['short_story'], $count);
3. Файл шаблона: relatednews.tpl используем тег
{text limit="15"}
Где 15 - число выводимых слов.
В результате получаем вывод по количеству слов:
Похожие новости дле 9.4 [FIX]

Хак DLE Похожие новости FIX исправления ошибки
«Автор:»MSW
Источник : 0-web ru
Версия Движка: 9.4 Dle
Рекомендуем скачать хак для dle FIX Похожие новости исправления ошибки