Ищу Бесконечная прокрутка

Тема в разделе "DLE", создана пользователем cocs, 25 апр 2013.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. cocs

    cocs

    Регистр.:
    5 дек 2009
    Сообщения:
    431
    Симпатии:
    100
    Нужна бесконечная прокрутка на сайте под DLE, читал об инфинити, но там я так понимаю только на главной странице будет бесконечная прокрутка. Смотрел здесь,
     
  2. exile

    exile Писатель

    Регистр.:
    23 ноя 2012
    Сообщения:
    1
    Симпатии:
    1
    1-ый вариант


    В работоспособности не уверен
    Код:
    function nextPage() {
    var nextPage = $('#ajax-next-page a').attr('href');
    ShowLoading("");
    $('.bbcodes').remove();
    $('#ajax-next-page').remove();
    if (nextPage !== undefined) {
    $.ajax({
    url: nextPage,
    success: function(data) {
    $('#ajax-next-page').remove();
    $('#next-page').remove();
    HideLoading("");
    $('#dle-content').append($('#dle-content', data).html());
    var checkPage = $('#ajax-next-page a').attr('href');
    if(checkPage==undefined) {$('.bbcodes').remove();}
    }
    })
    }
    };
    
    2-ой вариант

    Проверенный. У меня работало на 9.6
    1. В файле "index.php" найти:
    Код:
    define ( 'ENGINE_DIR', ROOT_DIR . '/engine' );



    Ниже вставить:
    Код:
    define('LIVELOAD_ID', md5($_SERVER['REQUEST_URI']+'countLiveLoad'));
     
    if(isset($_SESSION['LL']) && @count($_SESSION['LL'])>7) {
        $_SESSION['LL'] = array ();
    }
     
    if(isset($_POST['liveload']) && $_POST['liveload'] == 1) {
        if ($_SERVER['HTTP_X_REQUESTED_WITH'] != "XMLHttpRequest"){
            @header ("HTTP/1.0 403 Forbidden");
            die("We love you too :]");
        }
        @header( "Content-type: text/html; charset=windows-1251" ); // если у вас кодировка UTF, закоментируйте эту строку
        //@header( "Content-type: text/html; charset=utf-8" ); // если у вас кодировка windows, закоментируйте эту строку
        if(!$_SESSION['LL'][LIVELOAD_ID]) {
            $_SESSION['LL'][LIVELOAD_ID] = 1;
        }else{
            $_SESSION['LL'][LIVELOAD_ID] ++;
        }
        if(!$_GET['cstart']){
            $_GET['cstart'] = $_REQUEST['cstart'] = 1;
        }
        $_GET['cstart'] = $_REQUEST['cstart'] = $_REQUEST['cstart'] + $_SESSION['LL'][LIVELOAD_ID];
    }elseif($_SESSION['LL'][LIVELOAD_ID]){
        $_SESSION['LL'][LIVELOAD_ID] = 0;
    }

    2. В файле "engine/modules/show.short.php" найти:
    Код:
    $tpl->clear(); $db->free( $sql_result );



    Вставить ниже:

    Код:
    if(isset($_POST['liveload']) && $_POST['liveload'] == 1) {
        if($news_found){
            $tpl->result['content'] = str_replace('{THEME}', $config['http_home_url'].'templates/'.$config['skin'], $tpl->result['content']);
            print $tpl->result['content'];
        }else{
            print "no";
            $_SESSION['LL'][LIVELOAD_ID] = 0;
        }
        exit ();
    }

    3. В файле "main.tpl" находим:
    Код:
    </head>



    Вставляем выше:
    Код:
    [aviable=main|cat]
    <script>
    var stopMe = false;
    $(document).ready(function (){
        $(this).scroll(function(){
            if(!stopMe && $('#live-load-news').offset().top+$('#live-load-news').height()-$(window).scrollTop() < $(window).height() ){
                LiveLoad();
            }
        })
    });
    var CountAjax = 0;
    function LiveLoad() {
        if(CountAjax == 0) {
            CountAjax++;
            $('#live-load-active').show(200);
            $.post(window.location, {liveload:1}, function(data){
                $('#live-load-active').hide(200);
                if(data == "no" || !data || data == ""){
                    stopMe = true;
                    $(document).unbind('scroll');
                }else{
                    $("#live-load-news").append(data);
                    CountAjax = 0;
                    $(document).scroll();
                }
       
            });   
        }
    }
    </script>
    [/aviable]

    ищем:

    Код:
    {content}
    

    ниже ставим:
    Код:
    [aviable=main|cat] <div id="live-load-news"></div> <div id="live-load-active" style="display:none; text-align:center">Загрузка новостей...</div> [/aviable]



    4. Если вы хотите скрыть ссылки навигации, то в файле шаблона navigation.tpl весь код "обнять" так:
    Код:
    [not-aviable=main|cat] здесь код [/not-aviable]
     
    madcap нравится это.
  3. yarik1390

    yarik1390 Постоялец

    Регистр.:
    12 апр 2006
    Сообщения:
    65
    Симпатии:
    30
    Как вариант посмотрите здесь:

    Либо здесь платный вариант:
     
  4. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.116
    Симпатии:
    2.130
    Конкретика... Какие ошибки? На каком этапе проблемы и т.д.