Ajax переключение вида кратких новостей на главной странице DLE
Данный материал предоставлен сайтом https://ublogi.ru/ исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно: Ajax переключение вида кратких новостей на главной странице DLE
В данной статье я постараюсь объяснить суть этого хака и как можно подробней описать установку. Установка очень лёгкая и займет всего пару минут.
Описание:
Хак Ajax template - это небольшая модификация которая позволяет менять вид кратких новостей не перезагружая всю страницу.
Данный хак нисколько не нагружает сам сайт. Принцип его работы заключается в том чтобы загрузить дополнительный шаблон кратких новостей, не перезагружая всю страницу.
Демонстрацию этой модификации вы уже видели, а если не видели то можете посмотреть на главной странице этого сайта.
Установка:
Для начала скачиваем архив с файлами модификации/хака
Распаковываем архив и раскидываем по папкам нашего сайта DLE.
Первым делом подключим его к нашему шаблону. Для этого открываем файл main.tpl и перед тегом </head> вставляем следующие строки:
[aviable=main|cat]<link media="screen" href="/templates/Default/css/ajax_temp.css" type="text/css" rel="stylesheet" />[/aviable]
Затем в самом низу этого же файла подключаем .js файл, перед тегом <body> вставляем:[aviable=main|cat]<script type="text/jаvascript" src="/templates/Default/js/ajax_temp.js"></script>[/aviable]
В этом же файле в месте где хотим чтобы отображался сам переключатель вставляем следующее:[aviable=main|cat]
<div class="view-type templater">
<a href="#" [default] class="activetempajax" [/default] data-temp="this_1" data-catid="{id_cat}" data-pageid="{cstart}" data-nametemp="default">
<span class="setview view1"></span>
</a>
<a href="#" [list] class="activetempajax" [/ list] data-temp="this_2" data-catid="{id_cat}" data-pageid="{cstart}" data-nametemp="list">
<span class="setview view2"></span>
</a>
<a href="#" [table] class="activetempajax" [/table] data-temp="this_3" data-catid="{id_cat}" data-pageid="{cstart}" data-nametemp="tablet">
<span class="setview view3"></span>
</a>
</div>
[/aviable]
Готово! к шаблону мы подключились. Теперь займемся файлами движка..Открываем файл /engine/engine.php и ищем такие строки:
$cache_prefix .= "_tempate_" . $config['skin'];
Ниже дописываем это:$user_short_tpl = array(
'default' => 'shortstory.tpl',
'list' => 'shortstory_list.tpl',
'tablet' => 'shortstory_tablet.tpl'
);
$user_tpl =(isset($_COOKIE['short_template']) && isset($user_short_tpl[$_COOKIE['short_template']])) ? $_COOKIE['short_template'] : "default";
$cache_prefix .= "_".$user_tpl;
Далее открываем файл /engine/modules/show.short.php и ищем строки:if( $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',
'tablet' => 'shortstory_tablet.tpl'
);
if($template_ajax)
$user_tpl = $user_short_tpl[$template_ajax];
else
$user_tpl =(isset($_COOKIE['short_template']) && isset($user_short_tpl[$_COOKIE['short_template']])) ? $user_short_tpl[$_COOKIE['short_template']] : $user_short_tpl["default"];
if( $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);}
После открываем файл /engine/modules/main.php (если у вас более старая версия DLE то файл index.php корневой!) и находим:$tpl->set ( '{speedbar}', $tpl->result['speedbar'] );
Ниже вставляем:$tpl->set ( '{id_cat}', $category_id );
$tpl->set ( '{cstart}', intval($_REQUEST["cstart"]) );
if(isset($_COOKIE['short_template']))
{
if($_COOKIE['short_template'] == "default")
{
$tpl->set_block( "'\\[default\\](.*?)\\[/default\\]'si", "\\1" );
$tpl->set_block( "'\\[list\\](.*?)\\[/list\\]'si", "" );
$tpl->set_block( "'\\[table\\](.*?)\\[/table\\]'si", "" );
}
elseif($_COOKIE['short_template'] == "list")
{
$tpl->set_block( "'\\[default\\](.*?)\\[/default\\]'si", "" );
$tpl->set_block( "'\\[list\\](.*?)\\[/list\\]'si", "\\1" );
$tpl->set_block( "'\\[table\\](.*?)\\[/table\\]'si", "" );
}
else
{
$tpl->set_block( "'\\[default\\](.*?)\\[/default\\]'si", "" );
$tpl->set_block( "'\\[list\\](.*?)\\[/list\\]'si", "" );
$tpl->set_block( "'\\[table\\](.*?)\\[/table\\]'si", "\\1" );
}
}
else
{
$tpl->set_block( "'\\[default\\](.*?)\\[/default\\]'si", "\\1" );
$tpl->set_block( "'\\[list\\](.*?)\\[/list\\]'si", "" );
$tpl->set_block( "'\\[table\\](.*?)\\[/table\\]'si", "" );
}
Ну вот и всё! Если вы сделали всё в точности как на писано в данной статье, то хак должен работать!В файлах shortstory.tpl shortstory_list.tpl shortstory_tablet.tpl настраиваем внешний вид.
Посетители, находящиеся в группе Гости, не могут скачивать файлы с нашего сайта.
Пожалуйста зарегистрируйтесь или авторизируйтесь для доступа к файлу.


