Template no not being used in some environments

Moved NodeBB Development
  • So my problem is this. I have a theme in which I want to edit composer.tpl. I added my own in my templates folder and made some changes. Nothing major at all, just moving some buttons to other places and such. Then added some styling to match the theme.

    When I do local development I run grunt, and the composer template is used.

    We have two different cloud environments but it only works on one of them. The weird thing is that they are clones. So exactly the same code base. One one of them the composer template is used, on the other the base one from the composer is there. We're using the redactor composer.

    On both environments the CSS created is bundles so the theme is active, it's just that because the template is missing, things are not where they're supposed to be.

    So I'm looking for some kind of answer regarding how the templates are built into the build folder, I guess. As I understand, this is how templates are prioritized:

    Base --> Theme --> Plugin --> Build

    What I find weird is that it's working locally and one one of the cloud environments. Please help, I have spent the better part of a day with a colleague to figure this out, but no cigarr.

  • Did you look at the active plugin order in the ACP at /admin/extend/plugins?
    dbc8967a-5849-46fc-b446-943efd63f833-image.png
    That order defines how templates are loaded so you have to make sure your theme comes after the composer plugin.

  • That was it. Had no idea that this was a thing. Thanks a lot @baris!

  • Nice one @baris. Fun to learn something new everyday 👍

    I was trying to troubleshoot this issue but did not find any way for a more verbose nodebb build. Is it possible to see what the build script is doing step by step.

    Like bash -x does as an example?

  • Hmm, ./nodebb build --verbose should give more info, don't think it displays the order of plugins though.


Suggested Topics