Dleshka.org
Авторизация

Хак Автоматический вывод похожих новостей

+6
TipTop 25-07-2010 Хаки DLE 3 комментария



Хак, облегчающий модерацию новостей

Удаление кнопки "Найти похожие новости" при добавлении, редактировании или модерации и автоматический вывод похожих новостей.

Установка:

1. Открываем engine/inc/addnews.php и находим строку:
<td><input class="edit bk" type="text" size="55" name="title" id="title" /> <input class="edit" type="button" style="width:160px;" value="{$lang['b_find_related']}" /> [url=#\" class=][?][/url]<span id="related_news"></span></td>


Удаляем кнопку и вешаем событие на поле (событие onclick только на поле меняем на onchange):
<td><input class="edit bk" type="text" size="55" name="title" id="title" /> [url=#\" class=][?][/url]<span id="related_news"></span></td>



Теперь после написания заголовка, т.е. после любого изменения в поле и когда поле теряет фокус, например мы переходим писать нашу новость, у нас выведутся похожие новости или надпись что похожих новостей не найдено.

2. Если нужна проверка "на лету", после каждого введенного символа, тогда onchange меняем на onkeyup.
Но этого не рекамендую, особенно для больших сайтов, где часто постят, модерируют и добавляют материал, т.кю это получается своего рода маленький ddos

3. Если необходимо сделать то же самое при модерации или редактировании открываем файл engine/inc/editnews.php и в нем делаем то же самое как и при добавлении новости.

4. И последнее. Если необходима проверка и вывод при открытии новости для редактирования или модерации, тогда:
Открываем engine\skins\default.skin.php
Находим:
<body>


Заменяем на:
<body onload="find_relates(); return false;">



Теперь при каждом открытии новости для редактирования или модерации у нас будет выводится список похожих новостей или сообщение что похожих новостей не найдено

Можете комбинировать различные сочитания, например оставлять кнопки по желанию или выводить при открытии и повесить обработчик onchange на поле. Вообщем кому как больше нравится

5. Вот и все. Удачи!


Атор: admiralside
Информация
Зарегистрируйтесь чтобы комментировать публикацию.
white
29 июля 2010 08:55
+ 0 -
Для какой версии dle этот хак? В 8.3 такой строки нет.
white
3 сентября 2010 18:29
+ 0 -
И ваще повсему нету везде один итодже хак валяеться и неодного комментаия,чё у всех всё работает?Отвечаю сам себе походу, неработает этот хак!Работает одна строчка <body onload="find_relates(); return false;"> после внедрения коей в модерации новостей появляеться автопоиск+кнопочка некуда неделась(што радует),а весь остальной код в шредер надыть засунуть.
Тестил на 8.3
bla
27 декабря 2010 13:32
+ 0 -
Это

<td><input class="edit bk" type="text" size="55" name="title" id="title"> <input class="edit" type="button" onclick="find_relates(); return false;" style="width:160px;" value="{$lang['b_find_related']}">


Меняем на это

<td width="140" height="29" style="padding-left:5px;">{$lang['addnews_title']
;}</td>
        <td><input class="edit bk" type="text" size="55" name="title" id="title" onchange="find_relates();">


Извиняюсь , исправить коммент на сайте нельзя , выше неправильно написал . правильно будет так (для dle 9.0 на других движках не пробовал)

Находим

<td><input class="edit bk" type="text" size="55" name="title" id="title"> <input class="edit" type="button" onclick="find_relates(); return false;" style="width:160px;" value="{$lang['b_find_related']}">


Заменяем на

<td><input class="edit bk" type="text" size="55" name="title" id="title" onchange="find_relates();">
Авторизация