1 ноя


Автор: MSW
Версия DLE: 9.4
Сайт поддержки: https://0-web.ru/

В DLE версии 9.4 есть возможность настроить вид вывода похожих новостей с разными параметрами.
Но возникла проблема при использовании тега
{text limit="150"}
текст обрезается по количеству букв, и как то не очень красиво, так как казалось бы должна проходить фильтрация хтмл тегов, но вот она не проходит и в результате вывод картинок получается не таким как хотелось бы(на картинке правый нижний блок - картинка не на своём месте).

Предлагаю выводить не по количеству символов, а по количеству слов.
Решение:
[hide_group=6,7]
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 - число выводимых слов.
[/hide_group]
В результате получаем вывод по количеству слов
[FIX] Похожие новости DLE 9.4

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.