6
дек
0 5842
В 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]
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.