Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Как добавить многоточие после {title limit="x"} на 12.1?

Как добавить многоточие после {title limit="x"} на 12.1?


     27.04.2018    Все вопросы » Хаки    1746

вопрос
Приветствую всех.
Подскажите, как реализовать, чтобы, после, допустим {title limit="100"}, в краткой новости, выводилось многоточие. Но, если тайтл укладывается в 100 знаков, многоточие НЕ добавлялось. Поэтому, простая комбинация {title limit="100"}... не подходит.

Ранее была подобная тема с правками в show.short.php, но в 12.1 тот хак не работает.

Ответил: deadluk


В файле engine/modules/show.custom.php

найти и заменить на

    if( preg_match( "#\\{title limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) {
        $count = intval($matches[1]);
        $row['title'] = strip_tags( $row['title'] );

        if( $count AND dle_strlen( $row['title'], $config['charset'] ) > $count ) {
            $row['title'] = dle_substr( $row['title'], 0, $count, $config['charset'] );
            if( ($temp_dmax = dle_strrpos( $row['title'], ' ', $config['charset'] )) ) $row['title'] = dle_substr( $row['title'], 0, $temp_dmax, $config['charset'] );
            $row['title'] .= " ...";
        }

        $tpl->set( $matches[0], $row['title'] );
    }


Ответ: Sander'a

5 комментариев

kolumb
Юзер

kolumb - 27 апреля 2018 15:59 -

Это смотрели ?

Mau
Юзер

Mau - 27 апреля 2018 20:45 -

Да, делал по аналогии с show.short.php, к сожалению не работает.(

Sander
PHP-developer

Sander - 28 апреля 2018 09:52 -

Исправил там ответ.
Просто в нужном месте достаточно добавить строку:
$row['title'] .= " ...";

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

Mau
Юзер

Mau - 28 апреля 2018 12:28 -

Благодарю! Работает.

Gordi
Юзер

Gordi - 7 апреля 2024 22:04 -

какие правки нужно сделать в 17 версии. Ни одной строки из указанных здесь в 17 версии нет

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх