Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как вывести текст из {full-story limit="250"} на краткое содержание dle 12.0 ?

Как вывести текст из {full-story limit="250"} на краткое содержание dle 12.0 ?


     05.11.2018    DLE 12, dle 12.0    Все вопросы » Общие вопросы    1347

вопрос
Как вывести текст из {full-story limit="250"} на краткое содержание dle 12.0 ?

Ответа пока нет


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

Flash
Эксперт

Flash - 6 ноября 2018 11:05 -

В файле /engine/moduels/show.short.php после строки
$row['title'] = stripslashes( $row['title'] );


добавляем
if ( preg_match( "#\\{full-story limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) {
	$count= intval($matches[1]);
	
	$temp_str = preg_replace( "#<!--TBegin(.+?)<!--TEnd-->#is", "", $row['full_story'] );
	$temp_str = preg_replace( "#<!--MBegin(.+?)<!--MEnd-->#is", "", $temp_str );
	$temp_str = preg_replace( "'\[attachment=(.*?)\]'si", "", $temp_str );
	$temp_str = preg_replace ( "#\[hide(.*?)\](.+?)\[/hide\]#is", "", $temp_str );
	
	$temp_str = str_replace( "</p><p>", " ", $temp_str );
	$temp_str = strip_tags( $temp_str, "<br>" );
	$temp_str = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $temp_str ) ) ) ));

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

	$tpl->set( $matches[0], $temp_str );

}


В шаблоне shortstory.tpl в нужном месте вставляем
{full-story limit="250"}

zurabmw10
Юзер

zurabmw10 - 6 ноября 2018 13:45 -

спасибо вам flash но не работает

Flash
Эксперт

Flash - 6 ноября 2018 16:11 -

Хм, тогда можно попробовать перед
if ( preg_match( "#\\{short-story limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) {

вставить
if(!$row['short_story']) $row['short_story'] = $row['full_story'];

и использовать в шаблоне не {full-story limit="250"} а {short-story limit="250"}

LazyDev
PHP-developer

LazyDev - 6 ноября 2018 16:54 -

Flash, нет.

Открыть engine/engine.php найти все
CHAR_LENGTH(p.full_story) as full_story
заменить на
full_story

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

zurabmw10
Юзер

zurabmw10 - 6 ноября 2018 17:16 -

извините за беспокойство. я сделал все но еще не работает

LazyDev
PHP-developer

LazyDev - 6 ноября 2018 17:23 -

zurabmw10, тут я могу пожать руками, если вы сделали все что было описано в первом комментарии и моем - должно работать без каких либо на это проблем. Если вы только не хотите это дело провернуть в tpl файле который используется в выводе тега {custom} тогда нужно править еще один файл.

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

zurabmw10
Юзер

zurabmw10 - 6 ноября 2018 17:28 -

я сейчас посмотрел я использую
{custom category="0-99999" fixed="without" template="shortstory" available="global" navigation="yes" limit="24" order="date" cache="yes"}

zurabmw10
Юзер

zurabmw10 - 6 ноября 2018 17:30 -

наверно в этом деле что я использую custom

zurabmw10
Юзер

zurabmw10 - 6 ноября 2018 17:41 -

в content работе но не работает custom

zurabmw10
Юзер

zurabmw10 - 6 ноября 2018 17:44 -

что еще надо чтобы работал на custom ?

Flash
Эксперт

Flash - 6 ноября 2018 22:33 -

Удалось решить проблему?

zurabmw10
Юзер

zurabmw10 - 6 ноября 2018 18:05 -

спасибо вам Flash и PunPun <3 <3 <3

Automatic
Гости

Automatic - 6 ноября 2018 12:42 -

А зачем использовать в краткой новости тег {full-story} когда для краткой есть свой тег для таких целей?

zurabmw10
Юзер

zurabmw10 - 6 ноября 2018 13:38 -

у меня заполнена только full-story

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

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

наверх