17.04.14, 09:31
0 комментарий
  DLE Хаки

Переключение шаблонов shortstory для dle

Установка:
В 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

<script type="text/javascript" src="{THEME}/js/jquery.cookie.js"></script>



Открываем файл 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.

СКАЧАТЬ

Вес файла
14.12 Kb

Реклама

Напишите своё мнение

  • acuteaggressiveair_kissangel
    badbbbeachbeee
    biggrinbig_bossblumblush
    boastbombboredombye
    clappingcraycrazycurtsey
    dancedashdeclarediablo
    diroldon-t_mentiondownloaddrinks
    first_moveflirtfocusfool
    friendsgive_heartgive_rosegood
    hangheartheathelp
    hihunterhystericireful
    kingkisslaughlazy
    lolmail1mambaman_in_love
    mdamega_shokmoilmosking
    musicneanegativenew_russian
    okon_the_quietpardonparting
    partypilotpioneerpleasantry
    popcormpranksterprevedpunish
    roflrtfmrussiansad
    sarcasticscarescratchsearch
    secretsensoredshokshout
    slowsmilesmokesoldier
    soldier_girlsorryspitefulspruce_up
    stinkersuicidesunsuperstition
    swoonteasetenderthanks
    thisto_pick_ones_noseto_take_umbragetreaten
    umnikunknwvampirevava
    victorywackowhistlewink
    wizardyahooyesyu
    e101e102e103e104
    e105e106e107e108
    e109e110e111e112
    e113e114e115e116
    e117e118e119e120
    e121e122e123e124
    e125e126e127e128
    e129e130e131e132
    e133e134e135e136
    e137e138e139e140
    e141e142e143e144
    e145e146e147e148
    e149e150e151e152
    e153e154e155e156
    e157e158e159e160
    e161e162e163e164
    e165e166e167e168
    e169e170e171e172
    e173e174e175e176
    e177e178e179e180
    e181e182e183e184
    e185e186e187e188
    e189e190e191e192
    e193e194e195e196
    e197e198e199e200
    e201e202e203e204