• Автор:

    Flesha
  • Добавлено:

    дек 12, 2013
  • Комментариев:

    0
  • Просмотров:

    1 933

Хак not-newscount

Хак not-newscount

В DataLife Engine v.10.1 добавился новый тег для шаблона shortstory.tpl
[newscount=x] текст [/newscount]

который выводит текст указанный в тегах если показывается X новость, где X это число показываемой на странице новости. Но иногда надо наоборот не показывать некоторое содержимое, например для первой новости. Данный хак добавляет такую возможность!

Установка:
1. Файл: /engine/modules/functions.php
Найти:
function check_newscount( $matches=array() ) {
global $global_news_count;

$block = $matches[2];

$counts = explode( ',', $matches[1] );

if( !in_array( $global_news_count, $counts ) ) return "";

return $block;
}


Заменить на:
#****** not-newscount by MSW *** start ******#
function check_newscount( $matches=array() ) {
global $global_news_count;

$block = $matches[3];
$counts = explode( ',', $matches[2] );
if( $matches[1] == "newscount" ) {
if( !in_array( $global_news_count, $counts ) ) return "";
} else {
if( in_array( $global_news_count, $counts ) ) return "";
}
return $block;
}
#****** not-newscount by MSW *** stop ******#


2. Файлы:
- /engine/modules/show.short.php
- /engine/modules/show.custom.php
Найти:
    if (strpos ( $tpl->copy_template, "[newscount=" ) !== false) {
$tpl->copy_template = preg_replace_callback ( "#\\[newscount=(.+?)\\](.*?)\\[/newscount\\]#is", "check_newscount", $tpl->copy_template );
}


Заменить на:
#****** not-newscount by MSW *** start ******#
if (strpos ( $tpl->copy_template, "[newscount=" ) !== false) {
$tpl->copy_template = preg_replace_callback ( "#\\[(newscount)=(.+?)\\](.*?)\\[/newscount\\]#is", "check_newscount", $tpl->copy_template );
}
if (strpos ( $tpl->copy_template, "[not-newscount=" ) !== false) {
$tpl->copy_template = preg_replace_callback ( "#\\[(not-newscount)=(.+?)\\](.*?)\\[/not-newscount\\]#is", "check_newscount", $tpl->copy_template );
}
#****** not-newscount by MSW *** stop ******#


Применение:
В шаблоне shortstory.tpl, а также для шаблонах пользовательского вывода новостей при помощи тега {custom ....}:
[newscount=X] Выводить текст для Х по счёту новости [/newscount]
[not-newscount=X] Не выводить текст для Х по счёту новости [/not-newscount]


Автор: MSW
Версия DLE: 10.1
Сайт поддержки: 0-web.ru dle
Вернуться
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.