В данной статье пробуем реализовать кнопку для обнуления просмотров объявления на вашем движке Boxcode. Это функция может быть полезна пользователям в том случае, когда нужно обратить внимание на статистику просмотров объявления в определенное время.
Работы проводились на движке доски объявлений Boxcode 10 . На старших версиях, думаю, проблем с интеграцией возникнуть не должно.
- Создаем скрипт обнуления просмотров /moduls/doska/include/reset_view.php (UTF-8) и в него добавляем след.код
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182<?phpinclude_once("../../../config/config.php");include_once(DIR_CMS."/generalscript/init_work_st_auth.php");$obj_control_data = new conversion_data_get_post();$error=0;$error_text="no";$rez = " on_add : false ";$mas = array(array("id_advert","post","id_advert","numeric",true,true,false,""),);$num_user = 0;$on_user = false;if ( $GLOBALS["user_to_site"] && $GLOBALS["id_user_to_site"] > 0 ){$num_user = $GLOBALS["id_user_to_site"];$on_user=true;}if ($dbcnx){$rez_control_data = $obj_control_data->processing_one_group($mas);if ( $rez_control_data[0] && !$rez_control_data[1] ){$error_data=false;$mas_inbox = $rez_control_data[3];$mas_mark_id_advert = array();if ( $on_user ){//and moder = 'view'$db_query = "select * from ".DB_PREF."advert where id_advert = '".$mas_inbox['id_advert']."' and hide='show' and num_user = ".$num_user;list($kolvo_item,$one_item) = obr_db_query_select_one_assoc($db_query);if ( $kolvo_item ){$db_query="update ".DB_PREF."advert set kolvo_view = 0 where id_advert=".$mas_inbox["id_advert"]." ";$q_ident = obr_db_query($db_query);$rez = " on_add : true ";}else{$error=1;$error_text="Объявление не найдено";}}else{$error=1;$error_text="Вы не авторизованы";}}else{$error=1;$error_text="ошибка с параметрами!";}}else{$error=1;$error_text="ошибка с базой данных";}write_ajax_answer_jc($error,$error_text,$rez); - Открываем файл /templates/coolmini/moduls/doska/js_driver_bd.js и в конец файла добавляем новые функции
1234567891011121314151617181920212223242526272829function reset_view(id_advert){var dir_include=dir_http+"/moduls/doska/include";var data_send = "id_advert="+id_advert;var url = dir_include+"/reset_view.php";loadHTTPjc(url,ob_add_reset_view,data_send,true);}function ob_add_reset_view(answer){var on_add = answer.on_add;var isYes = confirm("Вы уверены?");if(isYes){if ( on_add == true ){alert('Просмотры обновлены');location.reload();}else{alert('Объявление не найдено или неактивно');}}} - Открываем файл /templates/coolmini/moduls/doska/mtemplates/forming_tab_synopsis_adv.html и вставляем нашу кнопку\ссылку для обновления счетчика в любое удобное место
12345{if !empty($page_myadverts) }{if $row["end_putdate"] >= $GLOBALS["timeDayAdvert"] }<a href='#' onclick='reset_view({$row["id_advert"]});return false;' >Обнулить просмотры</a>{/if}{/if}
Все. На данном этапе у вас все должно работать как нужно.
присылайте свои идеи к нам на admin@make-board.ru
обсудить свои вопросы можете на форуме Boxcode
вы также можете заказать разработку доски объявлений под ключ
или скачать\заказать шаблон Boxcode