Добавление многоточия после {title limit="x"}

Добавление многоточия после {title limit="x"}

Известно, что тег {title limit="100"} ограничивает вывод заголовка/тайтла новости в 100* символов. Далее название тупо обрезается. Можно попробовать вывести заголовок комбинацией {title limit="100"}..., но это немного не красиво. Хак поможет сделать так, чтобы после 100 символов в заголовке краткой новости, выводилось многоточие. При этом если заголовок будет укладываться в 100 символов, то .../многоточие добавляться не будет.
 
* Внимание: значение 100 приведено для примера и может быть любым.

Установка:
1. Открыть 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'] );
					
		}

		$tpl->set( $matches[0], str_replace("&", "&",  htmlspecialchars( $row['title'], ENT_QUOTES, $config['charset'] ) ) );

		
	}

Заменить на:
    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'] );
    }

Готово!
 
Версия DLE: 12.х
 
Автор: deadluk
Источник:
  • Oxigen
  • 0
  • 344
Информация
Оставлять комментарии могут только зарегистрированные посетители.
  • Рейтинг@Mail.ru
  • Яндекс.Метрика