Подгрузка комментариев Ajax

InstantCMS 2.X
#1 22 июня 2017 в 15:48
привет друзья!
возникла потребность не выводить сразу все комментарии к статье, а выводить часть, к примеру 30 штук (целыми ветками)
остальное подгружаться аяксом по нажатию на кнопку
делал ли кто-то подобное? может есть какое-то готовое решение?
#2 22 июня 2017 в 16:45
Если вы на кнопку нажимаете, вам и ajax не нужен. Можно обойтись обычной формой (или даже ссылкой). Аякс нужен, если вы контент в страницу асинхронно подгружаете.
#3 22 июня 2017 в 17:16


Если вы на кнопку нажимаете, вам и ajax не нужен. Можно обойтись обычной формой (или даже ссылкой). Аякс нужен, если вы контент в страницу асинхронно подгружаете.

Странник

мне нужно подгружать комментарии без перезагрузки страницы
#4 22 июня 2017 в 18:58
Значит, пишите ТЗ (с рисунком, чтобы вас люди понимали). То вы пишите, что надо на кнопку нажимать, то вам страницу перезагружать не надо. Противоречие. По идее, можно запустить аякс при событии, возникающем при клике по элементу страницы, но это то же самое, что планировать на самолете слетать в булочную, до которой две минуты езды на велосипеде. Нерационально выходит. Хотя, естественно можно. Если делать нечего))))

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

по нажатию на кнопку

Timmy
Следовательно, можно применить форму или ссылку.
#5 22 июня 2017 в 19:16
я понимаю что такое аякс и как он работает
комментариев в исходном коде быть не должно, поэтому мне и нужен аякс
посмотрите как работает виджет комментариев вконтакте vk.com/dev/Comments смысл тот же
нажимаю на "показать еще" получаю порцию комментариев
#6 22 июня 2017 в 20:02

нажимаю на "показать еще"

Timmy
и это можно сделать ссылкой или формой без всякого аякса)))))

Если очень уж неймется, задействуйте jquery:
  1. <div id="d0">Контент 0</div>
  2. <div id="d1" style="display: none;">Контент 1</div>
  3. <script>
  4. $(элемент по которому щелкаем).click(function(){
  5. $("#d0").hide();
  6. $("#d1").show();
  7. return false;
  8. });
  9. </script>
  10.  
Вот вам и вся машинерия: див с id="d0" будет открыт при загрузке страницы, див с id="d1" будет скрыт. Щелкнули — d0 скрылся, d1 появился.

Вот так Штирлиц, за пять минут и никаких фокусов (голосом Броневого из 17 мгновений).
))))))
#7 22 июня 2017 в 20:16
Странник, к чему это все? зачем это выяснение про аякс? вы хотите просто поговорить?
я ведь первом сообщении четко обозначил свой вопрос:

делал ли кто-то подобное? может есть какое-то готовое решение?

#8 22 июня 2017 в 20:18
смотрите пост #6 — я его редактировал, пока вы возмущались и мне минус в карму ставили)))
#9 23 июня 2017 в 08:51
Странник, Спасибо, мне бы тоже такая штука не помешала, а то пишут комментарии сотнями и приходится эту портянку прокручивать ) Подскажите пожалуйста "на пальцах" как это чудо применить? Какой файл править?

У меня версия 2.7.2
#10 23 июня 2017 в 10:59
Дружище Шляпник, в приведенном фрагменте продемонстрирован принцип, а не готовый код. К сожалению, готовый код будет именно "портянкой". В данном коде, как видите, всего два дива. А если их двенадцать? Сто сорок три? Или мы не знаем, сколько именно? Тут надо оборачивать дивы в цикл. И написать код, чтобы при каждом нажатии на кнопку id увеличивался на единицу (d0->d1->d2->d3 и т.д.) Заодно предусмотреть кнопку обратной прокрутки (d4->d3->d2 и тд).

Но повторяю, принцип — в рамках того "техзадания", которое нам предьявил ТС — остается прежним. Мы вполне можем обойтись без аякса!

Если Вам нужна такая штука — заказывайте. Давайте мне доступ по ftp к вашему сайту и я сделаю.
#11 23 июня 2017 в 21:58
Это тема тут поднималась 100500 раз про подгрузку контента и пока тишина
#12 25 июня 2017 в 15:18
Странник, Жаль конечно, хотелось бы простого решения. Спасибо за ответ и разъяснения )
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.