Проблема бесконечной прокрутки / пагинации в PyroCMS - PullRequest
0 голосов
/ 27 января 2012

Я пытаюсь реализовать плагин jquery с бесконечной прокруткой (http://www.infinite -scroll.com /), применяя его к странице блога установки PyroCMS (http://pyrocms.com)). Однако я столкнулся с проблемой с повторяющимися записями, поскольку плагин, похоже, предполагает, что структура разбиения на страницы будет выглядеть как page / 1, page / 2 и т. д., в то время как PyroCMS создает URL-адреса как page /, page / 10, page / 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. Если вы можете чем-то помочь, я был бы очень признателен!

1 Ответ

0 голосов
/ 02 февраля 2012

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

Тогда просто укажите:

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

на новый контроллер

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

...