{favorite-count} без обновления страницы

{favorite-count} без обновления страницы

Хак позволит реализовать добавление в избранное через Ajax, а не перезагрузку страницы. То есть пользователь жмет добавить в избранное и {favorite-count} - количество новостей в избранном, меняется на лету.
 
Установка:
1. Открыть engine/classes/js/dle_js.js и найти:
function doFavorites(a,c,b){ShowLoading("");$.get(dle_root+"engine/ajax/favorites.php",{fav_id:a,action:c,skin:dle_skin,alert:b,user_hash:dle_login_hash},function(c){HideLoading("");b?DLEalert(c,dle_info):$("#fav-id-"+a).html(c);});return!1}

Заменить на:
function doFavorites(a,c,b){var count=parseInt($("#favorite_count").text()),b=null;ShowLoading("");$.get(dle_root+"engine/ajax/favorites.php",{fav_id:a,action:c,skin:dle_skin,alert:b,user_hash:dle_login_hash},function(d){HideLoading("");b?DLEalert(d,dle_info):$("#fav-id-"+a).html(d);if(c=='plus'){count=$("#favorite_count").text(count+1);}else if(c=='minus'){$("#favorite_count").text(count-1);}});return!1}

2. В нужное место шаблона добавить:
<div id="favorite_count">{favorite-count}</div>

Готово!

У этого способа есть маленький недочет. Если в избранном еще нет вкладок и если добавить первую, то {favorite-count} обновится только после перезагрузки страницы. После того, как в избранное попадает хоть дна новость - все будет нормально и счетчик будет обновляться без перезагрузки.
 
Версия DLE: 12.0
 
Автор: vitnet
Источник:
  • Oxigen
  • 0
  • 192
Информация
Оставлять комментарии могут только зарегистрированные посетители.
  • Рейтинг@Mail.ru
  • Яндекс.Метрика