diff --git a/app/templates/routes/views/blog.js b/app/templates/routes/views/blog.js index 27b17e9..68df009 100644 --- a/app/templates/routes/views/blog.js +++ b/app/templates/routes/views/blog.js @@ -57,21 +57,32 @@ exports = module.exports = function (req, res) { // Load the posts view.on('init', function (next) { - var q = keystone.list('Post').paginate({ - page: req.query.page || 1, - perPage: 10, - maxPages: 10, - filters: { - state: 'published', - }, - }) - .sort('-publishedDate') - .populate('author categories'); - + var q; + if (locals.data.category) { - q.where('categories').in([locals.data.category]); + q = keystone.list('Post').paginate({ + page: req.query.page || 1, + perPage: 10, + maxPages: 10, + filters: { + state: 'published', + categories: locals.data.category, + }, + }); + } else { + q = keystone.list('Post').paginate({ + page: req.query.page || 1, + perPage: 10, + maxPages: 10, + filters: { + state: 'published', + }, + }) } + q.sort('-publishedDate') + .populate('author categories'); + q.exec(function (err, results) { locals.data.posts = results; next(err); diff --git a/app/templates/templates/default-hbs/views/helpers/index.js b/app/templates/templates/default-hbs/views/helpers/index.js index 3aee3b6..bf30449 100644 --- a/app/templates/templates/default-hbs/views/helpers/index.js +++ b/app/templates/templates/default-hbs/views/helpers/index.js @@ -198,8 +198,8 @@ module.exports = function () { // might be a ghost helper // used for pagination urls on blog - _helpers.pageUrl = function (pageNumber, options) { - return '/blog?page=' + pageNumber; + _helpers.pageUrl = function (pageNumber, category, options) { + return '/blog' + (category ? '/' + category : '') +'?page=' + pageNumber; }; // create the category url for a blog-category page @@ -227,7 +227,7 @@ module.exports = function () { return options.inverse(this); }; - _helpers.paginationNavigation = function (pages, currentPage, totalPages, options) { + _helpers.paginationNavigation = function (pages, currentPage, totalPages, category, options) { var html = ''; // pages should be an array ex. [1,2,3,4,5,6,7,8,9,10, '....'] @@ -247,7 +247,7 @@ module.exports = function () { } // get the pageUrl using the integer value - var pageUrl = _helpers.pageUrl(page); + var pageUrl = _helpers.pageUrl(page, category); // wrapup the html html += '