herr rilke Posted June 24 Share Posted June 24 hi @bernhard, i have a new website online using rockpagebuilder 5.5.3 while in edit-mode as administrator everything works nicely. but activation template caching PLUS visiting the page while not logged in i get a server-error 500. in PW exception log it reads variable @global-secondary-background is undefined in file /site/templates/RockPageBuilder/blocks/CallToAction/CallToAction.less in CallToAction.less on line 23, column 14 21| .uk-background-primary { 22| h3 { 23| color: @global-secondary-background !important; 24| } 25| .text { 26| color: white; In /site/modules/Less/wikimedia/less.php/lib/Less/Tree/Variable.php line 50 any ideas what went wrong? Link to comment Share on other sites More sharing options...
bernhard Posted June 27 Share Posted June 27 Hey @herr rilke that exception means that the variable is not defined. That's typically the case when you are using less files that contain uikit variables (like @global-secondary-background) but the uikit base files are not loaded. From what you write I'd try to check whether it is related to permissions or to caching. So you could try to activate only one at a time and check when it breaks. Then we know a little bit more. Link to comment Share on other sites More sharing options...
herr rilke Posted June 27 Author Share Posted June 27 1 hour ago, bernhard said: Hey @herr rilke that exception means that the variable is not defined. That's typically the case when you are using less files that contain uikit variables (like @global-secondary-background) but the uikit base files are not loaded. From what you write I'd try to check whether it is related to permissions or to caching. So you could try to activate only one at a time and check when it breaks. Then we know a little bit more. i was looking for them by myself, couldn't figure out, where to look for them. currently my base was your example RPB website. Link to comment Share on other sites More sharing options...
bernhard Posted June 27 Share Posted June 27 Hey @herr rilke can you provide a list of steps to reproduce or can you share the project as ZIP with all the files + DB dump? In private, of course ? Link to comment Share on other sites More sharing options...
bernhard Posted June 28 Share Posted June 28 Hey @herr rilke thx for sending me the files. The good news is that you can please mark this topic as [solved] here in the RockPageBuilder forum, because it is not related to RPB but rather to RockFrontend. The bad news is that the way I designed RockFrontends assets feature does not reliably work with template cache at all. It works with no cache, it works with procache, but it doesn't work with template cache. The problem is that with ProCache we get a 1:1 copy of the rendered page without calling any php files on the request. That's fine, because then all assets are already injected in the <head> and the browser just loads the static files. If template cache is active it's different: Files like _init.php or layout.latte are not loaded and also not all the template php files, but all other php files like RockFrontend.module.php or RockPageBuilder.module.php are loaded. So it's a problem to place $rockfrontend->styles()->add(...) in files that are not loaded and other calls of styles()->add() in files that are. That's what you are seeing. RockPageBuilder assets are being loaded from RockPageBuilder.module.php but uikit files are not, because they are injected from _init.php or layout.latte or _main.php (wherever one might place it) which is skipped by template cache. To be honest I'm not yet sure what to do about this as this would mean a major rewrite of all my projects and likely any project built on top of RockFrontend. The easiest fix for your situation would be to just use ProCache, which is worth every cent. If anybody has a good idea please let me know. I'll have to think about a good solution... 1 Link to comment Share on other sites More sharing options...
herr rilke Posted June 28 Author Share Posted June 28 thank you for your time and explanation @bernhard! gonna get another solution. all the best 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now