Установка:
В main.tpl вставить (там где вы хотите видеть свои кнопки либо текстовые переключатели):
[aviable=main]
$(function(){
if($.cookie('short_template')){
$(".templtes").removeClass('current');
$(".templater a[data-template]").removeClass('current').each(function(){
if($(this).data('template')==$.cookie('short_template')){
$(this).addClass('current');
$(".template-"+$.cookie('short_template')).addClass('current');
}
});
}
$(".templater a[data-template]").click(function(){
if($(this).hasClass('current')) return false;
$(this).addClass('current').siblings().removeClass('current');
$(".templtes").removeClass('current');
$(".template-"+$(this).data('template')).addClass('current');
$.cookie('short_template', $(this).data('template'),{path:'/'});
window.location.href=dle_root+'?short_template'+$(this).data('template');
return false;
});
})
Режим просмотра: Стандарт | Список | Иконки
[/aviable]
Открываем любой файл со стилями и добавляем:
.templater .current{color:#c00;}
.templtes{display:none;}
.templtes.current{display:block;}
Качаем архив и подключаем: jquery.cookie.js
Открываем файл engine/modules/show.short.php
Закоментируем строки:
/* if( isset( $view_template ) and $view_template == "rss" ) {
} elseif( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );
else $tpl->load_template( 'shortstory.tpl' ); */
Вставляем ниже:
$user_short_tpl = array(
'default' => 'shortstory.tpl', //дефолтный шаблон
'list' => 'shortstory_list.tpl', // шаблон списком
'icons' => 'shortstory_icons.tpl' // шаблон картинки
);
$user_tpl =(isset($_COOKIE['short_template']) && isset($user_short_tpl[$_COOKIE['short_template']])) ? $user_short_tpl[$_COOKIE['short_template']] : $user_short_tpl['default'];
$user_tpl = (isset($_GET['short_template']) && isset($user_short_tpl[$_GET['short_template']])) ? $user_short_tpl[$_GET['short_template']] : $user_tpl;
if( isset( $view_template ) and $view_template == "rss" ) {
} elseif( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );
else $tpl->load_template($user_tpl);
Установка закончена.
НЕ забываем создать tpl шаблоны.
Для тех кто хочет на Ajax:
Заменить строку в main.tpl:
window.location.href=dle_root+'?short_template'+$(this).data('template');
На эту:
$.get(dle_root+'?short_template'+$(this).data('template'), function(data){
$("#dle-content").html(data);
});
где dle-content ID дива в котором выводятся все короткие новости.
В файле show.short.php в самом конце
Вставить:
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
@header( "Content-type: text/html; charset=" . $config['charset'] );
echo $tpl->result['content'];
exit;
}
Подключил данный способ у себя на одном из своих сайтов
Немного лучше чем Вариант от Sandera.