orchardcms - How to set different page size for first page in Orchard CMS -


we got need display blog posts page display x posts - first post displayed header , rest in 2 columns. page has show more button @ bottom fetches next page posts using ajax , adding them @ bottom. possible x+1 items subsequent pages?

any hint, in code welcome since use sourced version of orchard installation.

so before cluttering comments above proposed solution.

i think there slight misunderstanding changing controller action i'd clarify (i hope understood correctly now):

orchard.blogs | blogcontroller | item action

public actionresult item(int blogid, pagerparameters pagerparameters) {     // original code     pager pager = new pager(_siteservice.getsitesettings(), pagerparameters);      var blogpart = _blogservice.get(blogid, versionoptions.published).as<blogpart>();     if (blogpart == null)         return httpnotfound();      if (!_services.authorizer.authorize(orchard.core.contents.permissions.viewcontent, blogpart, t("cannot view content"))) {         return new httpunauthorizedresult();     }      // actual change:     // use pagerparameters provided, otherwise fall blog settings     pager.pagesize = pagerparameters.pagesize.hasvalue ? pager.pagesize : blogpart.postsperpage;      // original code again     _feedmanager.register(blogpart, _services.contentmanager.getitemmetadata(blogpart).displaytext);     var blogposts = _blogpostservice.get(blogpart, pager.getstartindex(), pager.pagesize) // new page size used         .select(b => _services.contentmanager.builddisplay(b, "summary"));     dynamic blog = _services.contentmanager.builddisplay(blogpart);      var list = shape.list();     list.addrange(blogposts);     blog.content.add(shape.parts_blogs_blogpost_list(contentitems: list), "5");      var totalitemcount = _blogpostservice.postcount(blogpart);     blog.content.add(shape.pager(pager).totalitemcount(totalitemcount), "content:after");      return new shaperesult(this, blog); } 

so change subtle, way configure blogs default pagesize 7 items , every subsequent ajax-request i'd provide "pagesize"-parameter desired size.


Comments