Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Модуль новинки (которые вы еще не посмотрели)

Тема в разделе "Вопросы- ответы", создана пользователем mwax, 14 окт 2015.

14.10.15 в 13:30
19.05.17 в 08:55
66
11.484
0
  1. TopicStarter Overlay
    mwax

    Команда форума VIP Кинотрафик v2

    Регистрация:
    21 апр 2015
    Сообщения:
    363
    Лучших ответов:
    0
    Рейтинги:
    +207 / 0 / -0
    Может кто подскажет: как реализовать возможность вывода количества не просмотренных новинок?

    Пример на kinokrad.net

    [​IMG]

    Пример на kinoprofi.net
    [​IMG]
     
  2. ZeuS

    ZeuS Бывалый

    Регистрация:
    5 окт 2015
    Сообщения:
    138
    Лучших ответов:
    0
    Рейтинги:
    +40 / 0 / -0
    Делается вот так. Создаешь файл 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>
     
    #2 ZeuS, 14 окт 2015
    Последнее редактирование: 13 дек 2015
    • Нравится Нравится x 7
  3. zombiz

    Команда форума VIP Кинотрафик v2

    Регистрация:
    6 окт 2015
    Сообщения:
    309
    Лучших ответов:
    0
    Рейтинги:
    +165 / 0 / -0
    Мне кажется это просто раздел последних новинок.
    Код:
    <li><a href="/filmy-2015-novinki/"><span class="name">Новинки</span></a><span class="hotnum hide">вывели последние залитые фильмы за сутки</span></li>
    соответственно и получаются разные цифры каждый день.
    Могу и ошибаться.
     
  4. ZerocooL

    Команда форума Администратор VIP Кинотрафик v2

    Регистрация:
    29 янв 2015
    Сообщения:
    8.679
    Лучших ответов:
    9
    Мануалы:
    31
    Рейтинги:
    +5.089 / 210 / -1
  5. zombiz

    Команда форума VIP Кинотрафик v2

    Регистрация:
    6 окт 2015
    Сообщения:
    309
    Лучших ответов:
    0
    Рейтинги:
    +165 / 0 / -0
    Когда писал, уже выложили)))
     
  6. Жека

    Команда форума VIP Кинотрафик v2

    Регистрация:
    16 авг 2015
    Сообщения:
    1.248
    Лучших ответов:
    0
    Рейтинги:
    +570 / 9 / -0
    Все сделал не отображается =\ Как правильно сюда прилепить? <i class="redround hide"></i>
    <a href="/novinki-kino/" title="ы"><span class="name">Новинки</span></a>
     
  7. ZeuS

    ZeuS Бывалый

    Регистрация:
    5 окт 2015
    Сообщения:
    138
    Лучших ответов:
    0
    Рейтинги:
    +40 / 0 / -0
    в файле hotnum.php замените 111 на ид категории. с которой нужно вывести
     
    • Нравится Нравится x 1
  8. Жека

    Команда форума VIP Кинотрафик v2

    Регистрация:
    16 авг 2015
    Сообщения:
    1.248
    Лучших ответов:
    0
    Рейтинги:
    +570 / 9 / -0
    Все сделал, всеравно не работает =\ Скрипт можно в любой js залить? А <i class="redround hide"></i> нужно обернуть <span class="name">Новинки</span> или рядом вставить?
     
  9. ZeuS

    ZeuS Бывалый

    Регистрация:
    5 окт 2015
    Сообщения:
    138
    Лучших ответов:
    0
    Рейтинги:
    +40 / 0 / -0
    напиши ссылку на сайт в ЛС. Дописал инструкцию
     
  10. zombiz

    Команда форума VIP Кинотрафик v2

    Регистрация:
    6 окт 2015
    Сообщения:
    309
    Лучших ответов:
    0
    Рейтинги:
    +165 / 0 / -0
    Попробовал, тоже, нет результата, где-то ошибка)
     
  11. ZeuS

    ZeuS Бывалый

    Регистрация:
    5 окт 2015
    Сообщения:
    138
    Лучших ответов:
    0
    Рейтинги:
    +40 / 0 / -0
    @Tamerlan,
    ссылку на сайт
     
  12. ZeuS

    ZeuS Бывалый

    Регистрация:
    5 окт 2015
    Сообщения:
    138
    Лучших ответов:
    0
    Рейтинги:
    +40 / 0 / -0
    вот так подключи

    Код:
    $(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});
                }
            }
        });
    });
     
  13. Keiskar

    Забанен

    Регистрация:
    2 июл 2015
    Сообщения:
    870
    Лучших ответов:
    0
    Рейтинги:
    +397 / 0 / -0
  14. Keiskar

    Забанен

    Регистрация:
    2 июл 2015
    Сообщения:
    870
    Лучших ответов:
    0
    Рейтинги:
    +397 / 0 / -0
    все разобрался кукиjs хреновый был
     
  15. Жека

    Команда форума VIP Кинотрафик v2

    Регистрация:
    16 авг 2015
    Сообщения:
    1.248
    Лучших ответов:
    0
    Рейтинги:
    +570 / 9 / -0
    Keiskar помог разобраться. Всем спасибо недавно загорелся этой хренью, не знал как сделать )
     
  16. ZeuS

    ZeuS Бывалый

    Регистрация:
    5 окт 2015
    Сообщения:
    138
    Лучших ответов:
    0
    Рейтинги:
    +40 / 0 / -0
    ну так я же поправил инструкцию. и написал что нужны куки
     
  17. TopicStarter Overlay
    mwax

    Команда форума VIP Кинотрафик v2

    Регистрация:
    21 апр 2015
    Сообщения:
    363
    Лучших ответов:
    0
    Рейтинги:
    +207 / 0 / -0
    Попробовал поставить все по инструкции - но ничего не работает.
     
  18. TopicStarter Overlay
    mwax

    Команда форума VIP Кинотрафик v2

    Регистрация:
    21 апр 2015
    Сообщения:
    363
    Лучших ответов:
    0
    Рейтинги:
    +207 / 0 / -0
    @ZeuS, вопрос решен, спс за помощь.
     
  19. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.299
    Лучших ответов:
    31
    Рейтинги:
    +3.898 / 96 / -0
    1) Куки лучше задавать на стороне сервера.
    2) Куки задаются статически, но они не удаляются при входе пользователя.
     
  20. 2Bro

    Команда форума VIP Кинотрафик v2

    Регистрация:
    30 окт 2015
    Сообщения:
    1.016
    Лучших ответов:
    0
    Рейтинги:
    +628 / 1 / -0
    Мужики помогите запустить, у меня не получается никак.
    1. Залил engine/ajax/hotnum.php
    • Указал ID категории "Новинки".
    • Добавил 1 фильм в новинки. PHP срабатывает выдает {"status":"ok","num":"1"}

    2. Стили CSS добавил, вывел в нужное место <i class="redround hide">1</i>
    3. Файл .js из инструкции пробовал подключать в:
    Не работает :( помогите настроить
    @mwax, @ZeuS, @Жека, @Keiskar,
     
Похожие темы
  1. Spyke
    Ответов:
    34
    Просмотров:
    7.187
Загрузка...
Яндекс.Метрика