Webbell » DLE Хаки и советы » Хак для DLE "Алфавитный фильтр"
Правила Контакты Чтение RSS

Хак для DLE "Алфавитный фильтр"

У нас вы можете скачать бесплатно Хак для DLE "Алфавитный фильтр" .

Не пропустите комментарии к Хак для DLE "Алфавитный фильтр".
Данный материал предоставлен сайтом Webbell.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Хак для DLE "Алфавитный фильтр"


Хак будет полезен в первую очередь тем, у кого тематический сайт-каталог.
Например, сайт только с клипами, сайт только с книгами Д.Донцовой :-), сайт только с рок-музыкой и т.д. Но в принципе, можно использовать на любом варезнике.

Вид, естественно можно изменить по Вашему усмотрению.

Возможности:
1) Фильтрация новостей по буквам латинского алфавита и цифрам. Фильтр по буквам кириллицы производится по фильтру «RUS»
2) Автоматическое добавление первой буквы/цифры названия при добавлении/редактировании новости в поле «Символьный код» (если буква кириллицы – добавляется RUS). При этом производится проверка на невозможность добавления спецсимволов, пробелов и т.д.

Хак тестировался на версиях 8.2 и 7.5

Рабочий пример можно посмотреть на 1024kbytes.com

Итак:
1) Создаем в блокноте файл с именем afilter.php
Копируем в него код

<?php/*=====================================================Алфавитный фильтр=====================================================Данный код защищен авторскими правами (kandriy2004@ukr.net, ICQ#271522951)=====================================================Файл:  afiltr.php----------------------------------------------------------Назначение:  Создание алфавитного списка=====================================================*/if(!defined('DATALIFEENGINE')){  die("Hacking attempt!");}$alphafilter = '<TABLE cellSpacing=0 cellPadding=0 width=100%><TR><td  align = "center">';$alphafilter .= '<a href="http://'.$_SERVER['HTTP_HOST'].'/catalog/RUS/">RUS</a>&nbsp;&nbsp;&nbsp;';for ($i = 97; $i <= 122; $i++){$alphafilter .= '<a href="http://'.$_SERVER['HTTP_HOST'].'/catalog/'.chr($i).'/">'.chr($i).'</a>&nbsp;';}$alphafilter .= '&nbsp;&nbsp;&nbsp;';for ($i = 0; $i <= 9; $i++){$alphafilter .= '<a href="http://'.$_SERVER['HTTP_HOST'].'/catalog/'.$i.'/">'.$i.'</a>&nbsp;';}$alphafilter .= '</td></tr></TABLE>';    $tpl->load_template('afilter.tpl');    $tpl->set('{alphafilter}', $alphafilter);    $tpl->compile('afilter');    $tpl->set('{afilter}', $tpl->result['afilter']);?>



2) Копируем только что созданый afilter.php в /engine/moduls

3) Открываем /engine/moduls/functions.php, находим строчку

?>



и ВЫШЕ ее вставляем код:

function GetSymbolKod($title){  $res = '000';  $title = strtolower(ltrim($title));  if (preg_match("/[a-zA-Zа-яА-Я0-9]/", $title, $out_arr ))  {       if (preg_match("/[a-zA-Z0-9]/", $out_arr[0]))  $res = $out_arr[0];       if (preg_match("/[а-яА-Я]/", $out_arr[0]))  $res = "RUS";  }  return $res;}



4) Открываем /engine/inc/include/functions.inc.php (в ранних версиях может быть в /engine/inc/functions.inc.php)

?>




и ВЫШЕ вставляем код:

function GetSymbolKod($title){  $res = '000';  $title = strtolower(ltrim($title));  if (preg_match("/[a-zA-Zа-яА-Я0-9]/", $title, $out_arr ))  {       if (preg_match("/[a-zA-Z0-9]/", $out_arr[0]))  $res = $out_arr[0];       if (preg_match("/[а-яА-Я]/", $out_arr[0]))  $res = "RUS";  }  return $res;}




5) (для версти 8.2)
Открываем /engine/moduls/addnews.php, находим ПЕРВОЕ вхождение:

if( $found ) {




и ВЫШЕ вставляем код:

/********* afilter ***********************/$catalog_url = GetSymbolKod($title);/********* !afilter **********************/5) (для версии 7.5)Открываем /engine/moduls/addnews.php, находим строку$symbol = $title[0];


ВПЕРЕДИ (не выше, а именно спереди строки) нее ставим «//» (без кавычек), а НИЖЕ вставляем код:

$symbol = GetSymbolKod($title);



Далее находим часть строки:

symbol='ABC'




и ЗАМЕНЯЕМ на:

symbol='$symbol'




Опять находим часть строки:

'III'




и ЗАМЕНЯЕМ на:

'$symbol'





6) Открываем /engine/inc/addnews.php и находим строку:

$catalog_url =



ВПЕРЕДИ (не выше, а именно спереди строки) нее ставим «//» (без кавычек), а НИЖЕ вставляем код:

/********* afilter ***********************/$catalog_url = GetSymbolKod($title);/********* !afilter **********************/



7) Открываем /engine/inc/editnews.php и находим строку:

$catalog_url =




ВПЕРЕДИ (не выше, а именно спереди строки) нее ставим «//» (без кавычек), а НИЖЕ вставляем код:


/********* afilter ***********************/$catalog_url = GetSymbolKod($title);/********* !afilter **********************/




Хак имеет шаблон. Это для того, чтобы каждый мог сделать внешний вид фильтра по своему усмотрению. По умолчанию (то, что предложу я), подойдет большинству ибо простой и использует стиль спидбара (speedbar). Менять можно по своему усмотрению :-)
Итак, все просто:
8) В блокноте создаем файл afilter.tpl
В него копируем код:

<noindex><DIV class="afilter">{alphafilter}</DIV></noindex>


Кстати, тэг можно и убрать :-)

9) Копируем только что созданный файл в /templates/ваш_шаблон.

Как видно из шаблона, я использую стиль "afilter". Чтоб долго не думать, как шаблон сделать подходящим к общему стилю сайта, я взял и скопировал класс спидбара (speedbar) и назвал его afilter (хотя можно еще проще – в шаблоне указать класс speedbar – но это чревато последствиями…).
Делал это так.
10) Открываем файл /templates/ваш_шаблон/css/style.css и ишем строку с описанием стиля «.speedbar», «.speedbar a» и «.speedbar a:hover» . У меня это выглядит так:

.speedbar {    color: #727272;    font-size: 11px;    font-family: tahoma;    padding-left: 6px;}.speedbar a {    color:  #0574D3;    text-decoration:none;}.speedbar a:hover {    text-decoration: underline;    color:  #0574D3;    }



Скопируйте этот код в самый конец файла, только замените название speedbar на afilter и добавьте

font-size: 11px;


к «.speedbar a» и «.speedbar a:hover» стилям.

Вот что у меня получилось:

.afilter {    color: #727272;    font-size: 11px;    font-family: tahoma;    padding-left: 6px;}.afilter a {    color:  #0574D3;    font-size: 11px;    text-decoration:none;}.afilter a:hover {    text-decoration: underline;    color:  #0574D3;    font-size: 11px;    }    




11) Копируем только что отредактированный файл style.css обратно в /templates/ваш_шаблон/css/

Это мое видение шаблона :-). Повторяю – Вы же можете шаблон замутить, как надо именно Вам.

12) Предпоследний шаг.
Берем /templates/ваш_шаблон/main.tpl, находим строку {speedbar}. А тут как хотите – выше или ниже этой строки ставите тэг {afilter}. У меня на скриншоте – тэг выше {speedbar}.

13) И последнее - подключим наш хак к сайту:
Открываем файл index.php, находим строчку

require_once ROOT_DIR . '/engine/init.php';




и НИЖЕ вставляем код:

//***************** afilter *************************require_once ROOT_DIR.'/engine/modules/afilter.php';//***************** afilter *************************




14) И еще один важный момент.
Т.к. поле «Символьный код» в новости, значение которого участвует в фильтре , заполняется автоматически только при add/edit новости, то у всех предыдущих новостей поле будет пустым (или заполненный не так, как нам надо). Решения есть два:
1) пересохранить все новости (надо потратить много времени)
2) запустить скрипт, который автоматом все правильно исправит (времени не надо тратить. Кому этот вариант ближе - пишите на мыло, ICQ271522951, в личку)


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

«    Май 2018    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
Яндекс Апдейты
↓ Апдейты Яndex тИЦ
18.11.2017 ←Последний
04.11.2017
16.08.2017
↓ Апдейты выдачи Яndexa
20.05.2018 ←Последний
18.05.2018
16.05.2018
↓ Апдейты ЯКаталога
16.01.2018 ←Последний
20.12.2017
15.12.2017
Мы рекомендуем
Заработай на сайте!
Gogetlinks-Биржа вечных ссылок для сайтов с Тиц
Getgoodlinks-Биржа вечных ссылок для сайтов с PR


Опрос на портале

Сколько у вас сайтов?

Больше 20 сайтов
От 10 до 20 сайтов
От 5 до 10 сайтов
От 1 до 5 сайтов
Нету сайтов

Наш архив
Облако тегов
ajax, Build, DataLife, dle, dle 9.0, dle 9.2, Engine, Final, Google, Opera, Release, RSS, WordPress, адаптация, административная панель, бесплатно, виджет, Игровой, кино, комментарии, модуль, новости, Новый, Оригинал, парсер, парсер поисковых систем yandex google рассылка комментариев по DLE Joomla Community спаммер раскрутк, Переходы, плагин wordpress, сайта, сайтов, сбор данных телефонов адресов email контактов потенциальные клиенты BlackSpider универсальный сборщи, тема, тематики, универсальный, хак, хак wordpress, Шаблон, шаблона, Яндекс

Показать все теги
Последние комментарии
Популярные файлы

Информация!
Уважаемый посетитель! Присоединяйтесь к нам
в Твиттере.