VAOZ Опубликовано 13 апреля, 2018 Поделиться Опубликовано 13 апреля, 2018 Иногда возникает потребность в том, чтобы какую-то информацию из шаблона 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", "", $tpl->copy_template ); $tpl->copy_template = preg_replace ( "#\\[not-newsid=(.+?)\\](.*?)\\[/not-newsid\\]#ies", "", $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] Ссылка на комментарий Поделиться на других сайтах Дополнительные параметры обмена...
Рекомендованные сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти