Custom Homepage: Recent + Categories



  • As far as I'm aware it's only possible to have either Recent or Categories on the homepage for the Persona theme. Is it possible to have both? I've stitched together 2 screen shots to show what this would look like:

    alt text

    I did try using the custom homepage plugin to add Recent and Categories widgets to the same page but the widgets are not the same as the actual pages and it didn't look very good.


  • Plugin & Theme Dev

    @unterm said in Custom Homepage: Recent + Categories:

    Is it possible to have both?

    Yes. Create a plugin to add recent topics data to categories route. Modify the theme template to show this data.



  • Thanks for the quick reply. This would be beyond my depth and understanding and I'm concerned that anything I develop may break in future releases. Do you have any thoughts on that?


  • Plugin & Theme Dev

    @unterm well if you can't manage it on your own, pay someone to get it done. You can contact the core NodeBB devs at sales@nodebb.org


  • Community Rep

    You might be able to just replace the widget templates with the category and recent templates from your theme. I doubt the data is different.



  • @yariplus thanks - will take a look



  • I'm helping @unterm to set up our forum (non-business related), we've not got it "live yet". We found we could put global widget for categories. So the home page is great but it appears on all pages. Is it simple to set a home page only widget? (I notice you can put a widget just for categories )

    If we were to make our own plugin, would we fork this plugin? Would it be a couple of code line changes or a bit more involved?

    Thanks for making a great looking forum software that's easy to set up! I think we're 90% happy with what we have. Its hard to know where to get started if we go behind the scenes to fine tune extra features. Its understandable that involved development of a plugin is worth paying for, even a seemingly simple feature can be a lot of work!


  • Community Rep

    @iterm

    If your homepage is the Recent page, you can add a widget area only to the bottom of that page. To do so, you need to edit your theme in two places, once to define the widget area placement in the recent template, and then define the widget area so you can place a category widget inside from the admin panel.



  • Hi @yariplus, thanks a lot!

    I see either we could directly modify the persona theme files on our server, or copy/fork the theme and manually install that modified version. How would you manually install the copy? I assume without publishing it to npm.

    So far we've just installed plugins via the admin panel interface.


  • Community Rep

    There's a few different ways you could do it.

    You can install a forked version using npm install with a git url. So if I wanted to install my forked version linked above (on branch rw):

    yari@yaricraft:~/nodebb$ npm install yariplus/nodebb-theme-persona#rw
    

    You may also want to rename the theme, since nbb depends on nodebb-theme-persona, your changes could get overwritten when you update. Or just run this command again after you update to repull your forked version.



  • I think we'll fork your fork and rename it.

    I wonder if it works well, its worth a pull request?


  • Community Rep

    @iterm Sure, that should work just fine.

    As far as a pull request on the main repo, possibly. I would want to add the widget areas to all of the main templates, not just recent.

    The reason it hasn't been done yet is the widget system was going to be reworked, but that has been indefinitely delayed.


Log in to reply
 

Looks like your connection to NodeBB was lost, please wait while we try to reconnect.