[nodebb-plugin-custom-pages] Custom Static pages for NodeBB


  • Admin

    Updated for v0.5.1 of the plugin, compatible with NodeBB 1.6.0+

    Allows you to add as many new pages as you like to your NodeBB forum. Each new page has four widget areas (header, footer, content, and sidebar) which you can use to add HTML to in the Widgets ACP.

    Tips

    • You can set custom permissions for each individual page (ex. group-level access, or registered users only access, etc).
    • Use NodeBB's widget system (Extend -> Widgets) to add any type of content.
    • Utilize benchpress markup for advanced logic.
    • Add a navigation link in the header that points to your custom page in General -> Navigation and selecting "Custom Route".
    • Make a custom page your landing page / homepage under General -> Homepage and selecting "Custom"

    Manual Installation

    npm install nodebb-plugin-custom-pages

  • Global Moderator

    @psychobunny There's something up with the class on the header. Library.js seems to suggest that it will add a class to the header li with a classname of the pagename. But, it's blank. Also hovering over it just shows {navigation.title}



  • Is there any way to use an icon instead of just text?


  • Global Moderator

    Just had a go, seems not, however there is a stupendously dirty hack to stop it from displaying (if you wanted to link it from somewhere like the footer instead...

    In custom class do this:

    " style="display:none;

    The first " closes the class, then the style hides it. Not closing it means it gets closed by the " that's left over from the custom class.

    I'm also unable to delete them once they're created, which is odd.



  • hey cant seem to get this to work.

    In the init function (set to run on the app.load action), getCustomPages is called which gets the custom pages from the db. But setting routes within that callback happens too late.

    There is a github issue for this.


  • Admin

    Thanks @ryanmehta Looks similar to an issue I faced with the GA plugin yesterday. Might be an issue with core...

    Please see gh#1822



  • @julian that's exactly it. thanks i will monitor this. after this is resolved in core I can make a PR to fix this plugin.


  • Admin

    Updated to work with latest (v0.5x)



  • i want to remove custom-pages links from main menu


  • Global Moderator

    @vivek-tailor Try adding this to the custom class...

    " style="display:none;

    Copy it as is, including the first " etc.



  • @a_5mith thanks


  • Admin

    Nice trick :P

    Once this issue is resolved you'll be able to remove / rearrange menu items without having to use the above



  • @psychobunny Is it still not possible to add an image to the link?


  • Plugin & Theme Dev

    Even adding a FontAwesome icon would suffice for the time being if that's not possible.


  • Plugin & Theme Dev

    @psychobunny is it at all possible to add a "hide to anonymous users" or "make page private" option to the static pages? I realize that you can do this with each individual widget but it would be much more expedient if it were implemented in the ACP section of this plugin.


  • Plugin & Theme Dev

    @psychobunny you might not be managing this plugin anymore, but I'm running into an issue where the widgets don't load on the custom pages, even after clearing cache and stuff. Anything you'd be able to do to help me out?


  • Global Moderator

    @Scuzz said:

    Is there any way to use an icon instead of just text?

    Better late than never:

     $('document').ready(function() {
        $( "li.policy-page>a>span" ).replaceWith( '<i class="fa fa-fw fa-gavel"></i>' );
     });
    

    Just replace policy-page with the class of your new page, and fa-gavel with the icon you want it replaced with.


  • GNU/Linux

    Hmm... The plugin didn't run on NodeBB 0.5.4

    Produces this error:

    2014-12-08T21:40:29.074Z - error: TypeError: Cannot read property 'admin' of undefined
    at Object.plugin.init (/home/nodebb/foorum/node_modules/nodebb-plugin-custom-pages/library.js:101:43)
    at /home/nodebb/foorum/src/plugins.js:489:23
    at /home/nodebb/foorum/node_modules/async/lib/async.js:125:13
    at Array.forEach (native)
    at _each (/home/nodebb/foorum/node_modules/async/lib/async.js:46:24)
    at Object.async.each (/home/nodebb/foorum/node_modules/async/lib/async.js:124:9)
    at Object.Plugins.fireHook (/home/nodebb/foorum/src/plugins.js:487:12)
    at Plugins.reloadRoutes (/home/nodebb/foorum/src/plugins.js:135:11)
    at /home/nodebb/foorum/node_modules/async/lib/async.js:656:23
    at fn (/home/nodebb/foorum/node_modules/async/lib/async.js:641:34)
    TypeError: Cannot read property 'admin' of undefined
    at Object.plugin.init (/home/nodebb/foorum/node_modules/nodebb-plugin-custom-pages/library.js:101:43)
    at /home/nodebb/foorum/src/plugins.js:489:23
    at /home/nodebb/foorum/node_modules/async/lib/async.js:125:13
    at Array.forEach (native)
    at _each (/home/nodebb/foorum/node_modules/async/lib/async.js:46:24)
    at Object.async.each (/home/nodebb/foorum/node_modules/async/lib/async.js:124:9)
    at Object.Plugins.fireHook (/home/nodebb/foorum/src/plugins.js:487:12)
    at Plugins.reloadRoutes (/home/nodebb/foorum/src/plugins.js:135:11)
    at /home/nodebb/foorum/node_modules/async/lib/async.js:656:23
    at fn (/home/nodebb/foorum/node_modules/async/lib/async.js:641:34)
    2014-12-08T21:40:29.077Z - info: [app] Shutdown (SIGTERM/SIGINT) Initialised.
    2014-12-08T21:40:29.078Z - info: [app] Database connection closed.

  • Global Moderator

    @markkus, you're running the 0.6.0 supported version of the plugin. Run the following one line at a time from your NodeBB folder.

    npm rm nodebb-plugin-custom-pages
    npm i nodebb-plugin-custom-pages@0.0.3

    Then go into your Plugins in the ACP, disable the custom-pages plugin, then re-enable it. Then restart/reload your forum.


  • GNU/Linux

    Oh lol... Thanks!


Log in to reply
 


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