Проблема с бесконечной прокруткой / разбиением на страницы в PyroCMS

Я пытаюсь реализовать плагин jquery с бесконечной прокруткой (http://www.infinite-scroll.com/), применяя его к странице блога установки PyroCMS (http://pyrocms.com). Тем не менее, я столкнулся с проблемой повторяющихся записей, поскольку плагин, похоже, предполагает, что структура разбивки на страницы будет следующей: страница/1, страница/2 и т. д., в то время как PyroCMS создает URL-адреса как страница/, страница/10. , стр./20 и так далее. Есть ли способ исправить это?

Я запускаю плагин, используя следующие настройки:

jQuery(document).ready(function($) {
                $('#content').infinitescroll({              
                    state           : {
                        currPage    : "10"
                    },
                    loading         : {
                        img         : "/img/loading.gif",
                        msgText     : "<br /><br />",
                        finishedMsg : "All done."
                    },                  
                    nextSelector    : "div.pagination ul li.next a",
                    navSelector     : "div.pagination",
                    contentSelector : "#content",
                    itemSelector    : "#content div.blog_post",                 
                    pathParse       : ["/index.php/blog/page/", "/"]
                    }, function() { window.setTimeout(infinite_scroll_callback(), 1); } );
                });

Я думал, что редактирование файла маршрутов модуля блога может сработать, но я не уверен, как его реструктурировать, чтобы модуль использовал номер страницы вместо количества сообщений в блоге при создании URL-адресов разбиения на страницы. Содержимое файла маршрутов, по сути:

// public
$route['(blog)/(:num)/(:num)/(:any)']   = 'blog/view/$4';
$route['(blog)/page(/:num)?']               = 'blog/index$2';
$route['(blog)/rss/all.rss']                = 'rss/index';
$route['(blog)/rss/(:any).rss']         = 'rss/category/$2';
// admin
$route['blog/admin/categories(/:any)?']     = 'admin_categories$1';

Я думаю, что источник проблемы в том, что плагин просто ожидает другую структуру разбиения на страницы, чем предоставляет CMS. Если вы чем-то можете помочь, буду очень признательна!


person Community    schedule 27.01.2012    source источник


Ответы (1)


я думаю, вам нужно будет отредактировать контроллер blog.php и создать новый метод/функцию для использования бесконечной прокрутки.

Затем просто укажите:

pathParse: ["/index.php/blog/page/", "/"]

к новому контроллеру

pathParse: ["/index.php/blog/newcontroller/", "/"]

person btwong    schedule 02.02.2012
comment
Хм, сработает ли изменение существующего метода? В настоящее время он использует $this-›data-›pagination = create_pagination('blog/page', $this-›blog_m-›count_by(array('status' =› 'live')), NULL, 3); Могу ли я изменить этот счет на количество страниц, принудительно разбиваемых на страницы, по сравнению с количеством записей? - person ; 03.02.2012