Автоматический вывод похожих новостей в DLE
Хак для удаления кнопки "Найти похожие новости" при добавлении, редактировании или модерации и автоматический вывод похожих новостей.
Установка:
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. И последнее. Если необходима проверка и вывод при открытии новости для редактирования или модерации, тогда открываем engineskinsdefault.skin.php и находим:
Заменяем на:
<body onload="find_relates(); return false;">
Теперь при каждом открытии новости для редактирования или модерации у нас будет выводится список похожих новостей или сообщение что похожих новостей не найдено.
Можете комбинировать различные сочетания, например оставлять кнопки по желанию или выводить при открытии и повесить обработчик onchange на поле. Вобщем кому как больше нравится.
[b]Автор: admiralside