Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Шаблоны (TPL) » Не получается прикрутить {full-story limit="x"} в шаблоне похожих новстей

Не получается прикрутить {full-story limit="x"} в шаблоне похожих новстей


     05.07.2012    Все вопросы » Шаблоны (TPL)    7392

вопрос
Хочу вставить в шаблон похожих новостей такой код:
....<a href="{link}"><b>{title}</b><br>{full-story limit="40"}</a>...

Чтобы после заголовка было чуток основного текста. Необходимо заполнить блок, а то он как то пустоват. Но при вставке выглядит этот так:
Не получается прикрутить {full-story limit="x"} в шаблоне похожих новстей


В офф. документации DLE указано что данный тег можно использовать только в fullstory.tpl (если я правильно понял). Как убрать это ограничение чтобы использовать его в relatednews.tpl ?

Ответил: nowheremany


Там есть тэг {text limit=}, но для коротких новостей

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

hypernorm
Юзер

hypernorm - 6 июля 2012 19:55 -

Суть в том что вместо текста отображается сам тег "{full-story}" как на скриншоте.
Сам фрагмент кода в relatednews.tpl выглядит так :
<div class="textrelate"><a href="{link}"><b>{title}</b><br>{fullstory limit="40"}</a></div>

Тег {link}, {title} - отображается корректно (сссылка и заголовок новости соответсвенно)
а тег {fullstory limit="40"} - так и отображается "{fullstory limit="40"}" вместо 40 символов текста полной новости. Надеюсь, ясно изложил вопрос

Arteom
Юзер

Arteom - 7 июля 2012 00:56 -

/engine/modules/show.full.php

ищем

} else $tpl2->set( '{text}', $related['short_story'] );


после него ставим

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

                        $related['full_story'] = str_replace( "</p><p>", " ", $related['full_story'] );
            
                        $related['full_story'] = strip_tags( $related['full_story'], "<br>" );
                        $related['full_story'] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $related['full_story'] ) ) ) ));
                        if( $count AND dle_strlen( $related['full_story'], $config['charset'] ) > $count ) {
                                
                            $related['full_story'] = dle_substr( $related['full_story'], 0, $count, $config['charset'] );
                                
                            if( ($temp_dmax = dle_strrpos( $related['full_story'], ' ', $config['charset'] )) ) $related['full_story'] = dle_substr( $related['full_story'], 0, $temp_dmax, $config['charset'] );
                            
                        }
            
                        $tpl2->set( $matches[0], $related['full_story'] );
            
                    } else $tpl2->set( '{full-text}', $related['full_story'] );


в шаблоне пользуемся тегами {full-text limit="x"} и {full-text}

nowheremany
Эксперт

nowheremany - 7 июля 2012 12:46 -

в запросе нету full_story

Благодарность принимаю тут Связь

Prowockator
Юзер

Prowockator - 7 июля 2012 10:50 -

Посмотри вот Здесь думаю должно помочь !!!

Arteom
Юзер

Arteom - 7 июля 2012 20:12 -

я не спец по этому, был уверен, что в запросе был full_story
тогда можно так

найти

$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE {$stop_list}MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve=1" . $where_date . " LIMIT " . $config['related_number'] );


и заменить на

$db->query( "SELECT id, date, short_story, xfields, full_story, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE {$stop_list}MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve=1" . $where_date . " LIMIT " . $config['related_number'] );


+ 2-ой комментарий

hatchees
Юзер

hatchees - 8 августа 2012 16:15 -

Люди помогите сделать команду {full-text limit="x"} только для short-story.tpl. Я попытался сделать но у меня ничего не получилось!

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

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

наверх