Требуется создать шаблон с автоподгрузкой контента

InstantCMS 2.X
#1 25 июля 2018 в 21:24
Требуется создать шаблон для типа контента на основе default_list.tpl.php, с автоподгрузкой: что хочется видеть в результате — примерно как в этом уроке
#2 26 июля 2018 в 08:27
Может проще это доработать?
#3 26 июля 2018 в 09:26
Loadырь, да можно, не увидел что уже работал человек над такой задачкой, а почему VAL его пометил как не рекомендуемый [Deprecated]? Или это так принято устаревший код помечать…
#4 26 июля 2018 в 09:45
Еще есть ЭТО совсем свежее решение.
#5 26 июля 2018 в 09:48
vikont, это я видел в дополнениях, но он же для виджетов, а мне нужно автоподгрузку организовать в одном типе контента, поэтому надо что то для default.list шаблона.
#6 26 июля 2018 в 10:44

а почему VAL его пометил как не рекомендуемый [Deprecated]? Или это так принято устаревший код помечать...

jorgovich

Возможно имелись ввиду следующие вещи:

1.Далеко не всем пользователям нравится такая подгрузка. Логическое объяснение довольно простое, при постраничной навигации пользователь видит визуально количество страниц и просматривает иногда несколько первых и несколько последних (по разному) страниц.

То есть видит весь объем и он его не отталкивает.

Здесь же как правило просматривается только первых несколько (в лучшем случае) страниц.
Дальше не зная сколько страниц еще скрыто пользователь просто бросает смотреть дальше.

2. Не знаю как именно здесь реализовано, но на некоторых реализациях загрузка страницы увеличивается ровно на столько, сколько "страниц" скрыто в подгрузке.

ЗЫ: Но возможно автором имелось в виду и что то другое...
Я написал свое мнение и то что слышал о "длинных" страницах.
#7 26 июля 2018 в 10:46
jorgovich, думаю вам стоит напрямик списаться с разработчиками обоих дополнений!
Они грамотные, отзывчивые люди и вы с кем то из них обязательно сможете прийти к общему соглашению.
#8 26 июля 2018 в 13:53
Подписываюсь! Мне тоже это нужно!
#9 26 июля 2018 в 14:07
+ плюсую
тоже необходим функционал автоподгрузки контента, автоподгрузка записей на стене
Готов участвовать в складчине.
Пишите, кто готов взяться за разработку и минимальную цену — цена от…
Будем составлять ТЗ.
#10 26 июля 2018 в 20:20

Готов участвовать в складчине.

Red Ray
+

Но нужна опциональность.

Еще есть ЭТО совсем свежее решение.

vikont
Это брал. Работает на ура, но виджетом.
#11 27 июля 2018 в 11:17
Кто возьмет на себя составление ТЗ?
#12 27 июля 2018 в 13:05
Код взят из файла fronted компонента wall
  1.  
  2. <?php
  3.  
  4. class wall extends cmsFrontend {
  5.  
  6. public static $perpage = 15;
  7.  
  8. public function getWidget($title, $target, $permissions=array()){
  9.  
  10. extract($target);
  11.  
  12. $page = $this->request->get('page', 1);
  13. $show_id = $this->request->get('wid', 0);
  14. $go_reply = $this->request->get('reply', 0);
  15. $show_reply_id = 0;
  16.  
  17. if ($show_id){
  18.  
  19. $entry = $this->model->getEntry($show_id);
  20.  
  21. if ($entry){
  22.  
  23. if ($entry['parent_id'] > 0) {
  24. $show_id = $entry['parent_id'];
  25. $show_reply_id = $entry['id'];
  26. }
  27.  
  28. $page = $this->model->getEntryPageNumber($show_id, $target, self::$perpage);
  29.  
  30. }
  31.  
  32. }
  33.  
  34. $total = $this->model->getEntriesCount($profile_type, $profile_id);
  35. $entries = $this->model->getEntries($profile_type, $profile_id, $page);
  36.  
  37. $entries = cmsEventsManager::hook('wall_before_list', $entries);
  38.  
  39. return $this->cms_template->renderInternal($this, 'list', array(
  40. 'title' => $title,
  41. 'controller' => $controller,
  42. 'profile_type' => $profile_type,
  43. 'profile_id' => $profile_id,
  44. 'user' => $this->cms_user,
  45. 'entries' => $entries,
  46. 'permissions' => $permissions,
  47. 'page' => $page,
  48. 'perpage' => wall::$perpage,
  49. 'total' => $total,
  50. 'max_entries' => $show_id ? 0 : 5,
  51. 'show_id' => $show_id,
  52. 'show_reply_id' => $show_reply_id,
  53. 'go_reply' => $go_reply
  54. ));
  55.  
  56. }
  57.  
  58. }
  59.  
Код взят из файла fronted компонента content

  1.  
  2. <?php
  3. class content extends cmsFrontend {
  4.  
  5. const perpage = 15;
  6.  
  7. public $max_items_count = 0;
  8. public $request_page_name = 'page';
  9.  
  10. private $check_list_perm = true;
  11.  
  12. private $filter_titles = array();
  13.  
  14. public function route($uri){
  15.  
  16. $action_name = $this->parseRoute($this->cms_core->uri);
  17.  
  18. if (!$action_name) { cmsCore::error404(); }
  19.  
  20. $this->runAction($action_name);
  21.  
  22. }
  23.  
  24. ... и т.д.
  25.  

Как мы видим, на стене и на страницы контента изначально выводится по 15 записей.

Задача следующая (можно сказать ТЗ):
1. Реализовать подгрузку страниц на стене, и в контенте
2. Возможность вкл/выкл. автоподгрузку на стене.
3. Взможность вкл/выкл. автоподгрузку в контенте.
4. Возможость установить для каких типов контента вкл. автоподгрузку
5. Добавить постраничную пагинацию (рис. прикрепил) Принцип отображения пагинации как в вк


Возможно реализовать это, написав компонент?
Если нет, то получается нужно вносить изменения в системные файлы, что приведет к перезаписи при обновлениях движка.
Отсюда вытекает следующее: возможно ли реализовать это "в коробке InstantCms"

Тоесть получается что вопрос к Fuze.
С пониманием отношусь к тому, что Fuze занят, и в принципе это очередная хотелка от пользователей движка,
но мы готовы за эту хотелку заплатить, тем самым расширив фунционал движка для последующих пользователей.

Хотелось бы услышать возможна ли такая реализация в коробку?

Ищем исполнителя.
Пишите, кто готов взяться за разработку, и цену.
Прикрепленный файл
_q1gcg.png 30 Кб
#13 27 июля 2018 в 19:35
Я бы тоже вложился.
Очень удобный был плагин для первой ветки. Пр прокрутке появлялась прикрепленная к верхнему краю экрана пагинация. Можно было как бесконечно скроллить вниз, так и жамкнуть по нужной странице.
#14 27 июля 2018 в 19:49
Zau4man,
Но Вы-то сами можете и логику разработать и воплотить.
По достижении скроллом конца страницы по аяксу загружается следующая по номеру страница.
#15 27 июля 2018 в 20:25

Возможно реализовать это, написав компонент?

Red Ray
Первые четыре пункта можно сделать компонентом. По пятому пункту нужно будет делать либо хак имеющихся файлов шаблона default_list..., либо добавлять правленые файлы шаблона отдельно для этих целей, например default_list_scroll....

Что-то никто не догадался и не предложил подгрузку следующей или предыдущей записи (не списка) при промотке записи до конца.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.