Главная » Хаки DLE » Хак Отображение текста для определенных новостей в шаблоне main.tpl

Хак Отображение текста для определенных новостей в шаблоне main.tpl

  • Хаки DLE

Хак Отображение текста для определенных новостей в шаблоне main.tpl

Иногда возникает потребность в том, чтобы какую-то информацию из шаблона main.tpl не отображать для определенной новости, данный хак позволит это сделать.



Установка:

Открываем index.php
Найти:
$tpl->set ( '{calendar}', $tpl->result['calendar'] );


Добавить ВЫШЕ:
if($dle_module == "showfull") {
$news_id = $_GET['newsid'];

if( strpos( $tpl->copy_template, "[not-newsid=" ) !== false ) {
$tpl->copy_template = preg_replace( "#\\[not-newsid=(.+?)\\](.*?)\\[/not-newsid\\]#ies", "check_newsid('\\1', '\\2', '{$news_id}', false)", $tpl->copy_template );
}
if( strpos( $tpl->copy_template, "[newsid=" ) !== false ) {
$tpl->copy_template = preg_replace ( "#\\[newsid=(.+?)\\](.*?)\\[/newsid\\]#ies", "check_newsid('\\1', '\\2', '{$news_id}')", $tpl->copy_template );
}
$tpl->set_block( "'\\[cattext\\](.*?)\\[/cattext\\]'si", "" );
} else {
$tpl->set( '[cattext]', "" );
$tpl->set( '[/cattext]', "" );
$tpl->copy_template = preg_replace ( "#\\[newsid=(.+?)\\](.*?)\\[/newsid\\]#ies", "check_newsid('\\1', '\\2', '-1', false)", $tpl->copy_template );
$tpl->copy_template = preg_replace ( "#\\[not-newsid=(.+?)\\](.*?)\\[/not-newsid\\]#ies", "check_newsid('\\1', '\\2', '-1', false)", $tpl->copy_template );

}


Открываем 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 "";

}


В main.tpl можно вставлять комбинации

[newsid=1,2] текст [/newsid]
[not-newsid=3] текст [/not-newsid]


Версия DLE: 9.x

Автор: ShapeShifter

источник: savgroup.ru

Ключевые слова по теме Хак Отображение текста для определенных новостей в шаблоне main.tpl: хак для DLE, Отображение текста для определенных новостей в шаблоне main.tpl, ShapeShifter