Каталог по буквенному идентификатору Алфавиту



Чтобы реализовать удобный каталог вывода новостей по буквенному идентификатору в дле, можно воспользоваться не большим Dle хаком. Такой каталог будет доступен на блоге по ссылке например:
ваш_сайт.ru/catalog/A
Каталог выводит новости по первой букве заголовка. Хак dle автоматический стандартный каталог сделан по алфавиту, но это легко можно будет поменять на любой другой тип сортировки.
Хак дле каталог по буквенному идентификатору Алфавит
Версии DLE: 7.2-9.3
«Автор:» Sander

Установка:Открыть файл index.php
После строки:
$tpl->set_block ( "'{banner_(.*?)}'si", "" );


Вставить:

$catalog_ru = explode(" ", "А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я");foreach($catalog_ru as $k=>$v){    if( $config['allow_alt_url'] == "yes" ) $catalog_ru[$k] = "<a href="/catalog/{$v}" title="Новости на букву: {$v}">{$v}</a>";    else $catalog_ru[$k] = "<a href="{$config['http_home_url']}index.php?catalog={$v}" title="Новости на букву: {$v}">{$v}</a>";}$catalog_ru = implode(" | ", $catalog_ru);$tpl->set ( '{catalog_ru}', $catalog_ru );$catalog_en = explode(" ", "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0-9");foreach($catalog_en as $k=>$v){    if( $config['allow_alt_url'] == "yes" ) $catalog_en[$k] = "<a href="/catalog/{$v}" title="Новости на букву: {$v}">{$v}</a>";    else $catalog_en[$k] = "<a href="{$config['http_home_url']}index.php?catalog={$v}" title="Новости на букву: {$v}">{$v}</a>";}$catalog_en = implode(" | ", $catalog_en);$tpl->set ( '{catalog_en}', $catalog_en );


Открыть файл engine/engine.php

Удалить код:

symbol = '$catalog' AND 


После строки:

$user_query = "catalog=" . urlencode ( $catalog );


Вставить:

if($catalog=='0-9') $stop_list .= "title regexp '^[0-9'"]+' AND ";            else{                $catalog = substr(convert_unicode($catalog),0,1);                if($catalog!='е' AND $catalog!='и') $stop_list .= "title LIKE '$catalog%' AND ";                elseif($catalog=='е') $stop_list .= "(title LIKE 'Е%' OR title LIKE 'Ё%') AND ";                elseif($catalog=='и') $stop_list .= "(title LIKE 'И%' OR title LIKE 'Й%') AND ";            }


Теперь достаточно в main.tpl в нужном месте установить теги

{catalog_ru} {catalog_en}


для вывода алфавита.

Разделительный знак между буквами " | " можно поменять на любой другой достаточно его заменить в коде скрипта
$catalog_ru = implode(" | ", $catalog_ru);$catalog_en = implode(" | ", $catalog_en);


Установка

Советуем все для datalife engine скачать хак каталог по буквенному идентификатору Алфавиту

install_sort.zip [14,83 Kb] (cкачиваний: 294)
00

Комментарии (0)

Оставить комментарий

Кликните на изображение чтобы обновить код, если он неразборчив