Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Вывод текста в определенной новости сайта

Вывод текста в определенной новости сайта


     22.01.2012    Общие вопросы    4157

вопрос
Есть ли способ выводить текст в шаблоне в определенной новости?
К примеру, заключив нужный текст в определенный тег - он будет выводиться только в новости "site.ru/501-blablabla.html"

Ответил: yackers


Редактируем index.php

Найти :
if ($config['allow_skin_change'] == "yes") $tpl->set ( '{changeskin}', ChangeSkin ( ROOT_DIR . '/templates', $config['skin'] ) );


Перед этой строчкой вставить:
if (strpos ( $tpl->copy_template, "[newsid=" ) !== false) {
     if ( preg_match( "#\\[newsid=(.+?)\\](.*?)\\[/newsid\\]#i", $tpl->copy_template, $nmatch ) ) {
          $unewsid= intval($nmatch[1]);
          $urlid = $_SERVER['REQUEST_URI'];
              if (preg_match("/{$unewsid}/i", $urlid)) {
                  
                  $tpl->copy_template = preg_replace ( "#\\[newsid=(.+?)\\](.*?)\\[/newsid\\]#ies", $nmatch[2], $tpl->copy_template );
                  
                  } else {

                      $tpl->copy_template = preg_replace ( "#\\[newsid=(.+?)\\](.*?)\\[/newsid\\]#ies", "", $tpl->copy_template );
                      
                      } }  }


Все теперь в шаблоне main.tpl в нужном месте втасвляете теги

[newsid=12345]Здесь Ваш текст[/newsid]


Где 12345 = ID - вашей новости!!! :)

Комментарии пользователей (11)

coolrsm
2

61 | 57

coolrsm - 22 января 2012 17:40 - Юзер

создайте для этой новости отдельную категорию wink

Yamakasi
5

198 | 105

Yamakasi - 23 января 2012 02:28 - Юзер

да отдельная категория и отдельный шаблон токо!

coolrsm
2

61 | 57

coolrsm - 23 января 2012 04:13 - Юзер

а отдельный шаблон зачем?

n1kola
5 | 5

n1kola - 23 января 2012 07:42 - Юзер

а по мне так доп полями это проще сделать

ПафНутиЙ
1064

3393 | 2433

ПафНутиЙ - 23 января 2012 08:00 - Админ

допполя нельзя вынести за fullstory.tpl

Каков вопрос - таков и ответ. Просто помните об этом.

n1kola
5 | 5

n1kola - 27 января 2012 21:38 - Юзер

видел хак для того чтобы можно было вынести. Если очень надо, то постараюсь найти

yackers
34

51 | 49

yackers - 5 февраля 2012 21:04 - Юзер

Если нужно тоже самое для шаблонов shrotstory.tpl или fullstory.tpl

То в файлах show.short.php , и show.full.php

Ищем:
if ( $row['category'] )


Выше Вставляем: Код из моего ответа

wincloa
36 | 24

wincloa - 18 марта 2013 22:28 - Юзер

А что делать если выдает ошибку Parse error: syntax error, unexpected '{' in /home/account/public_html/index.php(59) : regexp code on line 1 Fatal error: preg_replace(): Failed evaluating code:
Если между этими тегами вставить инклуд файла {include file="block.php"}

Подскажите плиз знатоки...

wincloa
36 | 24

wincloa - 6 апреля 2013 14:44 - Юзер

Что бы не было таких ошибок нужно открыть engine/modules/functions.php и найти:
function check_category($cats, $block, $category, $action = true) {

Добавить выше:


function check_newsid($cats, $block, $category, $action = true) {

    $cats = str_replace(" ", "", $cats );    
    $cats = explode( ',', $cats );
    $category = explode( ',', $category );
    $found = false;
    
    foreach ( $category as $element ) {
        
        if( $action ) {
            
            if( in_array( $element, $cats ) ) {
                
                $block = str_replace( '\"', '"', $block );
                return $block;
            }
        
        } else {
            
            if( in_array( $element, $cats ) ) {
                $found = true;
            }
        
        }
    
    }

    if ( !$action AND !$found ) {    

        $block = str_replace( '\"', '"', $block  );
        return $block;
    }

    return "";

}

droni4
1

droni4 - 24 июня 2013 10:13 - Юзер

Здравствуйте, подскажите пожалуйста на какой версии DLE вы это использовали...

сделал все как сделано в статье
показывает
Parse error: syntax error, unexpected -

лечение в functions.php не помогло...

zatocnik1
1

zatocnik1 - 30 августа 2013 17:01 - Юзер

А как подключить php скрипт к определенной новости?
Код который выше, выдает ошибку в DLE10.
Мне нужно подключить {include file="/program/rossija.php"} - программу передач ТВ каналов, к каждому отдельному каналу в новостях. через main.tpl

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

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