Может кто подскажет: как реализовать возможность вывода количества не просмотренных новинок? Пример на kinokrad.net Пример на kinoprofi.net
Делается вот так. Создаешь файл hotnum.php, в него ложиш вот такой код Код: <?php @error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE ); @ini_set ( 'display_errors', true ); @ini_set ( 'html_errors', false ); @ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE ); define( 'DATALIFEENGINE', true ); define( 'ROOT_DIR', dirname(dirname(dirname(__FILE__))) ); define( 'ENGINE_DIR', ROOT_DIR . '/engine' ); include ENGINE_DIR . '/data/config.php'; date_default_timezone_set ( $config['date_adjust'] ); require_once ENGINE_DIR . '/classes/mysql.php'; require_once ENGINE_DIR . '/data/dbconfig.php'; require_once ENGINE_DIR . '/modules/functions.php'; @header("Access-Control-Allow-Methods: GET, POST"); @header("Access-Control-Allow-Credentials: true"); @header("Access-Control-Allow-Headers: Content-Type, *"); @header("Access-Control-Allow-Origin: " . rtrim($config['http_home_url'], '/')); @header("Content-type: application/json; charset={$config['charset']}"); @header("Content-type: text/html; charset={$config['charset']}"); dle_session(); $cat_info = get_vars("category"); if (!is_array($cat_info )) { $cat_info = array (); $db->query ( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" ); while ( $row = $db->get_row () ) { $cat_info[$row['id']] = array (); foreach ( $row as $key => $value ) { $cat_info[$row['id']][$key] = stripslashes ( $value ); } } set_vars("category", $cat_info); $db->free(); } if( isset($_COOKIE['dle_hotnumtime']) && intval($_COOKIE['dle_hotnumtime']) ) { $htdate = date("Y-m-d H:i:s", intval($_COOKIE['dle_hotnumtime'])); } elseif( isset($_REQUEST['hotnumtime']) && intval($_REQUEST['hotnumtime']) ) { $htdate = date("Y-m-d H:i:s", intval($_REQUEST['hotnumtime'])); } else { $htdate = date("Y-m-d H:i:s", intval(time()-(60*60*24*7))); } $cat_id = get_ID($cat_info, end(@explode('/', trim($_SERVER['HTTP_REFERER'], '/')))); $_post = $db->super_query("SELECT COUNT(*) AS count FROM " . PREFIX . "_post WHERE date > '{$htdate}' AND approve='1' AND category REGEXP '[[:<:]](111)[[:>:]]'"); if( $_post['count'] && ($cat_id != 111) ) { echo json_encode(array('status' => 'ok', 'num' => $_post['count'])); } else { echo json_encode(array('status' => 'ok', 'num' => 0, 'time' => ($cat_id == 111) ? time() : 0 )); } ?> 111 - это ID категории с которой выводятся показания, менять под свой ID категории после сохраняешь, и заливаешь в папку engine/ajax/ Так же должна быть подключена библиотека cookie css Код: .redround { background-color: #fc000f; -webkit-border-radius: 100px; -moz-border-radius: 100px; border-radius: 100px; display: block; padding: 0 4px; text-align: center; line-height: 15px; position: absolute; right: 5px; top: 10px; font-style: normal; color: #fff; z-index: 1; -moz-box-shadow: 0 0 5px 5px #888; -webkit-box-shadow: 0 0 5px 5px #888; box-shadow: 0 0 5px 2px rgba(0, 0, 0, .5); text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.41); } .redround.hide { display: none; } а вот это уже где нужно вывести количество нового Код: <i class="redround hide">1</i>
Мне кажется это просто раздел последних новинок. Код: <li><a href="/filmy-2015-novinki/"><span class="name">Новинки</span></a><span class="hotnum hide">вывели последние залитые фильмы за сутки</span></li> соответственно и получаются разные цифры каждый день. Могу и ошибаться.
Все сделал не отображается =\ Как правильно сюда прилепить? <i class="redround hide"></i> <a href="/novinki-kino/" title="ы"><span class="name">Новинки</span></a>
Все сделал, всеравно не работает =\ Скрипт можно в любой js залить? А <i class="redround hide"></i> нужно обернуть <span class="name">Новинки</span> или рядом вставить?
вот так подключи Код: $(document).ready(function(){ $.ajax({ method: "GET", dataType: 'json', crossDomain: true, url: dle_root + "engine/ajax/hotnum.php", data: { hotnumtime: $.cookie('hotnumtime') } }).done(function( data ) { if( data.status == 'ok' ) { if ( data.num ) { $('i.redround').html( data.num ).fadeIn(300); } if ( data.time ) { $.cookie('hotnumtime', data.time, {path: '/', expires: 7, domain: location.host}); } } }); });
1) Куки лучше задавать на стороне сервера. 2) Куки задаются статически, но они не удаляются при входе пользователя.
Мужики помогите запустить, у меня не получается никак. 1. Залил engine/ajax/hotnum.php Указал ID категории "Новинки". Добавил 1 фильм в новинки. PHP срабатывает выдает {"status":"ok","num":"1"} 2. Стили CSS добавил, вывел в нужное место <i class="redround hide">1</i> 3. Файл .js из инструкции пробовал подключать в: В существующий js - <script src='/templates/rutrailers/js/dle.js'></script> Отдельно - <script src="http://brokino.com/templates/rutrailers/js/new-films.js"></script> Не работает помогите настроить @mwax, @ZeuS, @Жека, @Keiskar,