Хак меняет вид shortstory на лету для dle

  • Автор темы MODERN
  • Дата начала
MODERN
Участник
Сообщения
756
Реакции
130


Хак меняет вид Shortstory на лету для DLE - это модификация использует скрипт jquery, чтобы переключать оформление шаблона короткой новости при просмотр в дле, есть три режима: вывод списком, картинками или стандартным видом.

Это вырезанный кусок кода взятый у автора Sander с новости Переключение шаблонов shortstory.

Установка хака на дле Меняем вид Shortstory на лету:
В main.tpl вставить
Код:
[aviable=main]               
<script type="text/javascript">   
$(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;
    });
})       
</script>                            
    <div class="sortn dpad"><div class="sortn"><div class="templater">Режим просмотра: <a href="#" class="current" data-template="default">Стандарт</a> |  <a href="#" data-template="list">Список</a> | <a href="#" data-template="icons">Иконки</a></div></div></div>                       
    [/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);
 

Вложения

Сверху