Автор: MSW Версия Движка: 9.4
В версии 9.4 есть возможность настроить вид вывода похожих новостей с разными параметрами. Но возникла проблема при использовании тега {text limit="150"}
текст обрезается по количеству букв, и как то не очень красиво, так как
казалось бы должна проходить фильтрация хтмл тегов, но вот она не
проходит и в результате вывод картинок получается не таким как хотелось
бы(на картинке правый нижний блок - картинка не на своём месте).
Предлагаю выводить не по количеству символов, а по количеству слов. Решение: 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 - число выводимых слов.
В результате получаем вывод по количеству слов:
|