
Чтобы реализовать удобный каталог вывода новостей по буквенному идентификатору в дле, можно воспользоваться не большим 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 скачать хак каталог по буквенному идентификатору Алфавиту