Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Использовать {short-story} несколько раз в одном tpl файле

Использовать {short-story} несколько раз в одном tpl файле


     03.10.2013    short-story, shortstory.tpl, shortnews    Все вопросы » Общие вопросы по PHP    3328

вопрос
Здравствуйте уважаемые!
Очень интересует такой вопрос:
Как использовать 2 раза тег {short-story} в одном tpl файле.

Поясняю ситуацию

shortstory.tpl:

<div class="view-list">
{include file="table.tpl"}        
</div>
<div class="view-grid">
{include file="grid.tpl"}
</div>


table.tpl:
 
{short-story limit="400"}


grid.tpl:
 
{short-story limit="400"}



На выводе получаю только первый раз сам shortstory а на втором просто тег SMARTY {short-story}
Пробовал даже сделать один с лимитом а другой без, не помогло
Версия 10.

Ответил: cybernatic


Решение нашел сам может кому и пригодится если вдруг вы будете использовать несколько раз тег short-story
в файле engine/modules/show.short.php

Ищем

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


и добавляем после него

        $textshortstory = $row['short_story'];
            
$tpl->set( '{short2}', $textshortstory );

if ( preg_match( "#\\{short2 limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matcheZ ) ) {
                $cxzcz= intval($matcheZ[1]);
    
                $row['short_story'] = str_replace( "</p><p>", " ", $textshortstory );
                $row['short_story'] = strip_tags($textshortstory,"<br>" );
                $row['short_story'] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $textshortstory ) ) ) ));
    
                if( $count AND dle_strlen($textshortstory, $config['charset'] ) > $cxzcz ) {
                        
                    $row['short_story'] = dle_substr( $textshortstory, 0, $cxzcz, $config['charset'] );
                        
                    if( ($temp_dmaxaasda = dle_strrpos( $textshortstory, ' ', $config['charset'] )) ) $textshortstory = dle_substr( $textshortstory, 0, $temp_dmaxaasda, $config['charset'] );
                    
                }
                $tpl->set( $matcheZ[0], $row['short_story'] );
    
            }


Теперь можно пользоваться тегом {short2} для вывода инф еще раз

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

dj-avtosh
PHP-developer

dj-avtosh - 3 октября 2013 21:13 -

Скажите, а при чем тут тег SMARTY?

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

cybernatic
Эксперт

cybernatic - 4 октября 2013 12:05 -

Если вы хотели этим сообщением дать понят что вы "УМНЫЙ" то да у вас это получилось

dj-avtosh
PHP-developer

dj-avtosh - 4 октября 2013 12:19 -

Я в отличии от "умных" тут вопросы не задаю, а отвечаю на них. На Ваши тактично отвечать не буду.

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

cybernatic
Эксперт

cybernatic - 4 октября 2013 12:21 -

Ваше право =) Не имею никаких к Вам притензий насчет того что будите ли Вы отвечать или нет =) Флаг Вам в руки и добра =)

Attyla
Юзер

Attyla - 4 октября 2013 12:12 -

А без include, не работает?!

cybernatic
Эксперт

cybernatic - 4 октября 2013 12:13 -

Там нет инклюда Вам нужно всего лишь 1 файл поправить

dj-avtosh
PHP-developer

dj-avtosh - 4 октября 2013 12:22 -

А кстати решение идиотское. Достаточно было в классе шаблонизатора добавить модификатор.

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

cybernatic
Эксперт

cybernatic - 4 октября 2013 12:23 -

идиотское или нет но факт в том что работает =)
Задача решена, всем спасибо, все свободны =)

dj-avtosh
PHP-developer

dj-avtosh - 4 октября 2013 12:27 -

Гавнокод рулит

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

cybernatic
Эксперт

cybernatic - 4 октября 2013 12:28 -

ну Вам виднее с Вашим то опытом такого же кодирования =)

dj-avtosh
PHP-developer

dj-avtosh - 4 октября 2013 12:33 -

Ваш гкод в ответе. Я такого копипаста никогда в жизни не делал бы.

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

cybernatic
Эксперт

cybernatic - 4 октября 2013 13:24 -

Это Ваше дело что делать и что не делать =) свобода слова и действий гарантированна конституцией той страны где Вы находитесь и проживаете

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

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

наверх