NatLibFi / Skosmos

Thesaurus and controlled vocabulary browser using SKOS and SPARQL
Other
227 stars 93 forks source link

[Request] Support for multiple templates #1375

Open YOUR1 opened 2 years ago

YOUR1 commented 2 years ago

Skosmos has by only one template folder; view. We have multiple clients that each have their own design, but with the current state of skosmos this gives a lot of maintaining issues; bootstrap versions changing, ect, ect.

I think there's only one good solution for this and that's having a template folder; and inside that template folder the twig files.

For example:

templates/
  default/
     (contents of view/ in here)
  customA/
     .. customised twig files
osma commented 2 years ago

Thanks for the suggestion @YOUR1 ! How would Skosmos know which template folder to use?

Regarding the Bootstrap change: I'm sorry this has caused pain for you, but it was really overdue and had to be done, just like the jQuery upgrade and related changes in the newly released 2.16. We have tried to point out in the Release Notes when there are important changes in the UI layer that affect customized installations.

We have started planning for a future 3.0 release where the UI layer would likely be rebuilt entirely. The details are still being worked out. Making templates easier to customize could be considered, but they are an important part of the application and need to evolve together with the rest of the code base.

YOUR1 commented 2 years ago

How would Skosmos know which template folder to use?

I think this is fairly easy to implement. The quick and easiest way is to implement it as a configurable option; just like we do now with skosmos:customCss. Add another attribute skosmos:templateDirectory (or whatever name suits more).

Then refactor https://github.com/NatLibFi/Skosmos/blob/ba263f038f1377aa322a3c4ffb304ec28d67ac84/controller/WebController.php#L140 including the template param.