not-newscount by MSW
Представляем вам хак для dle итак в DLE 10.1 был добавлен новый тег для шаблона краткой новости shortstory.tpl newscount=x текст /newscount который и выводит текст указанный в тегах если например показывается X новость, где X это число показываемой на странице новости, но иногда также надо наоборот не показывать некоторое содержимое, например для первой новости. Данный хак добавляет такую возможность и теперь можно использовать данный тег в обе стороны, также не забывайте смотреть у нас и другие хаки для dle, возможно найдете для себя что-то нужное.
Установка:
1. Открыть engine/modules/functions.php и найти:
function check_newscount( $matches=array() ) {
global $global_news_count;
$block = $matches2;
$counts = explode( ,, $matches1 );
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 = $matches3;
$counts = explode( ,, $matches2 );
if( $matches1 == 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 ******#
P.S: в шаблоне shortstory.tpl, а также для шаблонах пользовательского вывода новостей при помощи тега {custom ....}:
newscount=X Выводить текст для Х по счёту новости /newscount
not-newscount=X Не выводить текст для Х по счёту новости /not-newscount
Все!
- Версия DLE: 10.1
- Категория: Хаки
- Автор: MSW
- Источник:
Войдите на сайт
Все собранные средства будут переданы автору этой статьи - DEN
Сумма перевода от 10.00 рублей