• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Поиск Бесконечная прокрутка

cocs

Мой дом здесь!
Регистрация
5 Дек 2009
Сообщения
550
Реакции
264
Нужна бесконечная прокрутка на сайте под DLE, читал об инфинити, но там я так понимаю только на главной странице будет бесконечная прокрутка. Смотрел здесь,
Скрытое содержимое доступно для зарегистрированных пользователей!
 
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]
 
Нужна бесконечная прокрутка на сайте под DLE, читал об инфинити, но там я так понимаю только на главной странице будет бесконечная прокрутка. Смотрел здесь,
Как вариант посмотрите здесь:
Скрытое содержимое доступно для зарегистрированных пользователей!

Либо здесь платный вариант:
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Извиняюсь за археологию. Может есть решение у кого-нибудь для dle 13.x? Нужен бесконечный скроллинг полных новостей.
Из второго поста ни первый, ни второй вариант не работают.
 
по существу делаете загрузку элементов категории на ajax'е
В работоспособности не уверен
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();}
}
})
}
};
это вполне рабочий вариант, у меня работал на 11 версии, вы можете подкоректироват в зависимости от того как реализована пагинация в вашей теме
 
Назад
Сверху