CMS DataLife Engine - Система управления сайтами

redissx

Ajax подгрузка новостей по кнопке или при скролле

Recommended Posts

Пусть назовут археологом и закидают камнями, но все же огромное спасибо)))

Отличная реализация без правок родных файлов движка

Share this post


Link to post
Share on other sites

Если оставить и обычную навигацию под кнопкой подгрузки, то необходимо выделять в ней номер последней подгруженной страницы, чтобы пользователь знал, как далеко он прошел, а если страниц более 10, то и полностью перестраивать блок навигации.

Share this post


Link to post
Share on other sites
4 часа назад, MSK сказал:

Если оставить и обычную навигацию под кнопкой подгрузки, то необходимо выделять в ней номер последней подгруженной страницы, чтобы пользователь знал, как далеко он прошел, а если страниц более 10, то и полностью перестраивать блок навигации.

Напишите реализацию, может быть кому и пригодится.

А в идеале реализовать бы такую возможность в DLE, с возможностью на выбор для каждой категории отдельно.

Share this post


Link to post
Share on other sites
10 часов назад, LADYX сказал:

Напишите реализацию, может быть кому и пригодится.

А в идеале реализовать бы такую возможность в DLE, с возможностью на выбор для каждой категории отдельно.

Может быть redissx доработает, если его попросить.

Share this post


Link to post
Share on other sites
В 04.03.2018 в 11:23, MSK сказал:

Если оставить и обычную навигацию под кнопкой подгрузки, то необходимо выделять в ней номер последней подгруженной страницы, чтобы пользователь знал, как далеко он прошел, а если страниц более 10, то и полностью перестраивать блок навигации.

Здесь это учтено. Все так и работает.

Share this post


Link to post
Share on other sites

@redissx А если усложнить задачу? Например, ставим загрузку по 10 новостей (или сколько там в админке по умолчанию). Первые 3 по 10 загружаются автоматически, после чего появляется кнопка и в дальнейшем подгрузка уже только через кнопку? Плюс, когда полностью уже загружены все новости, уведомлять "новостей больше нет". И alert наверное лучше убрать, зачем нужны окна?

Share this post


Link to post
Share on other sites
2 часа назад, LADYX сказал:

@redissx А если усложнить задачу? Например, ставим загрузку по 10 новостей (или сколько там в админке по умолчанию). Первые 3 по 10 загружаются автоматически, после чего появляется кнопка и в дальнейшем подгрузка уже только через кнопку? Плюс, когда полностью уже загружены все новости, уведомлять "новостей больше нет". И alert наверное лучше убрать, зачем нужны окна?

Надо не забывать, что это все через шаблон и чтобы показать 3 нужно все равно загрузить 10 и 7 скрыть временно, ну или 2 раза запрашивать, один раз 3, потом остальное. В общем, что-то избыточное, и я не особо понял саму идею и зачем это нужно. Мне это точно не нужно )

 

Уведомление - тоже не особо нужно, по-моему мнению. Оно того не стоит, чтобы обдумывать как его вывести, ведь на последней  странице и ссылки то  нет, по которой кликать.

 

Алерт - его не вызвать в обычных условиях, это какой-то экстраординарный случай. Если мозолит глаза, то можно просто удалить.

 

В целом, я не горю желанием что-то допиливать. Скрипт  решает свою задачу, не более. Нужны украшательства - есть продвинутые jquery плагины типа infinite scroll.

 

Share this post


Link to post
Share on other sites
9 часов назад, redissx сказал:

Надо не забывать, что это все через шаблон и чтобы показать 3 нужно все равно загрузить 10 и 7 скрыть временно, ну или 2 раза запрашивать, один раз 3, потом остальное. В общем, что-то избыточное, и я не особо понял саму идею и зачем это нужно. Мне это точно не нужно )

 

Уведомление - тоже не особо нужно, по-моему мнению. Оно того не стоит, чтобы обдумывать как его вывести, ведь на последней  странице и ссылки то  нет, по которой кликать.

 

Алерт - его не вызвать в обычных условиях, это какой-то экстраординарный случай. Если мозолит глаза, то можно просто удалить.

 

В целом, я не горю желанием что-то допиливать. Скрипт  решает свою задачу, не более. Нужны украшательства - есть продвинутые jquery плагины типа infinite scroll.

 

А можно доработать скрипт что бы менялся URL страницы, при переходе в область новостей следующей страницы? Пример тот же VK.
Юзабилити повысится, т.к. часто ссылками делятся.

Edited by SN74

Share this post


Link to post
Share on other sites
3 часа назад, SN74 сказал:

А можно доработать скрипт что бы менялся URL страницы, при переходе в область новостей следующей страницы? Пример тот же VK.
Юзабилити повысится, т.к. часто ссылками делятся.

Урл в адресной строке меняется.

window.history.pushState("", "", urlNext);

  это оно и есть.

  • Thanks 1

Share this post


Link to post
Share on other sites
В 30.11.2017 в 13:30, redissx сказал:

Приветствую. Для ajax подгрузки новостей существует множество плагинов с кучей разных настроек. Но если вам требуется только подгрузка и ничего более, то предлагаю не грузить лишнего и воспользоваться этим небольшим решением.

Можно, чтобы в полной новости контент подгружался? 

У меня кадры из мультиков в полной новости. Их много. Я разбиваю новость по страницам. Но может лучше сделать, чтобы картинки просто подгружались на аяксе?

Share this post


Link to post
Share on other sites
2 часа назад, Spyhog сказал:

Можно, чтобы в полной новости контент подгружался? 

У меня кадры из мультиков в полной новости. Их много. Я разбиваю новость по страницам. Но может лучше сделать, чтобы картинки просто подгружались на аяксе?

Причём тут полная новость вообще?
Кто будет отдавать картинки?
Вкурсе что DLE штатно это не умеет, и только парсить целые страницы нужно будет?

Share this post


Link to post
Share on other sites
34 минуты назад, SN74 сказал:

Причём тут полная новость вообще?
Кто будет отдавать картинки?
Вкурсе что DLE штатно это не умеет, и только парсить целые страницы нужно будет?

Да а каком парсере идёт речь вообще? Постепенная загрузка текста полной новости, если он большой, по мере прокручивания вниз. Вот что нужно.

Share this post


Link to post
Share on other sites
11 часов назад, Spyhog сказал:

Можно, чтобы в полной новости контент подгружался? 

У меня кадры из мультиков в полной новости. Их много. Я разбиваю новость по страницам. Но может лучше сделать, чтобы картинки просто подгружались на аяксе?

Навигация полной новости в splitnewsnavigation.tpl. Делайте по аналогии. Думаю, должно работать все нормально, но не проверял. Единственное, что нужно тут


                    $('#dle-content').append($('#dle-content', data).html());
                    $('#dle-content').after($('#bottom-nav'));

править, чтобы из ответа брал нужный кусок контента и вставлял в нужное место. Так  как #dle-content это весь фуллстори.тпл целиком, а не лишь сам текст.

Ну то есть, например так


                    $('.full-text').append($('.full-text', data).html());
                    $('.full-text').after($('#bottom-nav'));

 

Share this post


Link to post
Share on other sites

У меня с начала нормально загружает, а потом начинает по 3-5 страниц сразу грузить. 

Share this post


Link to post
Share on other sites
17 часов назад, skapunker сказал:

У меня с начала нормально загружает, а потом начинает по 3-5 страниц сразу грузить. 

Все корректно работает. Проблема на вашей стороне.

Share this post


Link to post
Share on other sites
В 01.04.2018 в 18:36, skapunker сказал:

У меня с начала нормально загружает, а потом начинает по 3-5 страниц сразу грузить. 

Ещё актуально ? У тебя скрипт копируется всякий раз когда подгружаются странницы. Перенести скрипт из navigation.tpl под тег {content} или перед </body> и всё будет нормально.

Share this post


Link to post
Share on other sites
В 29.05.2018 в 20:25, Azerate сказал:

Ещё актуально ? У тебя скрипт копируется всякий раз когда подгружаются странницы. Перенести скрипт из navigation.tpl под тег {content} или перед </body> и всё будет нормально.

Действительно, в том и была загвоздка. Спасибо.

Share this post


Link to post
Share on other sites

Привет ребята, огромное спасибо redissx

Оставил старую навигацию, вдобавок кнопку запихнул "Загрузить еще". При нажатии, все подгружается но старая навигация остается на странице, как исправить?

Буду очень благодарен.

 

Bezymeny_6.jpg

Share this post


Link to post
Share on other sites

После установки этого хака и включении "Автоматическая загрузка при скролле" буквально чрез 5 минут сайт перестал открываться и вылезла ошибка "503 Service Temporarily Unavailable".

На протяжении часа сайт открывался через раз и постоянно была 503 ошибка. Вернул всё как было раньше - проблема ушла. Совпадение?

Share this post


Link to post
Share on other sites
51 минуту назад, sergey14 сказал:

Привет ребята, огромное спасибо redissx

Оставил старую навигацию, вдобавок кнопку запихнул "Загрузить еще". При нажатии, все подгружается но старая навигация остается на странице, как исправить?

Буду очень благодарен.

 

Bezymeny_6.jpg

Оберните все содержимое navigation.tpl в

<div id="bottom-nav"></div>
26 минут назад, Mek сказал:

После установки этого хака и включении "Автоматическая загрузка при скролле" буквально чрез 5 минут сайт перестал открываться и вылезла ошибка "503 Service Temporarily Unavailable".

На протяжении часа сайт открывался через раз и постоянно была 503 ошибка. Вернул всё как было раньше - проблема ушла. Совпадение?

Неизвестно. Что значит включили? В админке есть такое?

Share this post


Link to post
Share on other sites
35 минут назад, redissx сказал:

Оберните все содержимое navigation.tpl в


<div id="bottom-nav"></div>

Неизвестно. Что значит включили? В админке есть такое?

Да все отлично, заработало ураааа!!! Спасибо

Edited by sergey14

Share this post


Link to post
Share on other sites
42 минуты назад, redissx сказал:

Что значит включили? В админке есть такое?

Нет, не в админке. Установил данных хак из первого сообщения с автоматической загрузкой при скроллинге.

 

Share this post


Link to post
Share on other sites
1 час назад, Mek сказал:

Нет, не в админке. Установил данных хак из первого сообщения с автоматической загрузкой при скроллинге.

 

Не знаю. 503 - серверная ошибка, а в скрипте только ajax запрос взаимодействует с сервером. У меня ничего такого не наблюдалось, никто больше такого не писал, значит это что-то у вас.

Edited by redissx

Share this post


Link to post
Share on other sites

Здравствуйте!

 

У вас отличный хак. Но есть вопрос. Если новости показывает в main.tpl с помощью тег {content} работает без проблем.

А я пользуюсь с тег {custom}. Потому что мне нужно выводить определенный новости с категориями. 

 

Мой вариант:

{custom category="5-6" template="shortstory" aviable="global" from="0" limit="20" order="date" navigation="yes"}

 

Как можно разобраться что хак работал тоже с {custom} тегам.

 

Спасибо!

Edited by Shohxusrav

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now