5

This is a known bug in EE 2.9.0: https://support.ellislab.com/bugs/detail/20471/site-index-template-is-rendered-after-the-404-template The fix from that thread: Open system/expressionengine/libraries/Template.php and find this code on line 2236: ee()->output->out_type = "404"; ee()->output->set_output($out); ee()->output->_display(); ...


3

The simplest and and most flexible way is to use Template Layouts. In your main HTML Layout wrapper (simplified) which we will say is named "_html-layout" in the "layouts" template group: <html> <head> <link rel="stylesheet" href="/css/global.css"> {layout:css_extra} <head> <body> {layout:contents} </body> &...


3

The key here is in looking at the template engine order of operations. You can see that snippets are processed very early on. It also so happens that if you set a layout variable multiple times, it's the last value which remains. So you can create a snippet which sets default for all of your metadata, then include that snippet alongside your layout tag in ...


2

From my own testing, the value set for the {layout:title} variable will cascade back through the layout templates to the outermost layout. So if you set it in a nested template or a template that ultimately uses the global layout, then the value of the variable will be available to the global layout. If you set the {layout:title} variable in a nested ...


2

Unfortunately, for now, version 2.9, there isn't. But I suggest you to ask EllisLab for it. I guess isn't that hard to implement, but they are possibly busy because of the EECI Conf. This and an output parameter can be really useful.


2

I have no idea what your actual setup is, but I general find that a best practice is to utilize embeds for control features as well as consistency. Here is an example: Two template groups, one call embeds, one called pages. Embeds index.html (unused) _header.html _footer.html Pages index.html random_template.html Your pages template will all look like ...


2

Assuming 2 fields firstname and lastname... <div class="{if lastname}half{if:else}full{/if}"> {firstname} </div> {if lastname} <div class="half"> {lastname} </div> {/if} Or if either field could be missing/empty... {if firstname} <div class="{if lastname}half{if:else}full{/if}"> {firstname} </div> {/if}...


1

If you are not a developer, you need a developer's help. Here is what is going on: On the drop-down container elements, you have a class called visually-hidden, and the combo looks like this: <style> .visually-hidden { position: absolute !important; top: -9999px !important; left: -9999px !important; } </style> <dd class="...


1

I do this by passing blocks of template content via layout variables. Thus you can put template specific content elements into a layout, but don't need to worry about doing any logic switching within the layout itself. Here is an example: First - here is the code within the layout to insert whatever is in a template design content block called ...


1

This has also been asked on the official support forum here: https://devot-ee.com/add-ons/support/ce-cache/viewthread/14051. This comment: https://devot-ee.com/add-ons/support/ce-cache/viewthread/14051#49482 also provides a way of caching the layouts although I'm pretty sure it won't address your layout:set issue.


1

I've run into this before as well. The issue is that the layout:set action doesnt occur when the cached content is retrieved, so the parent layout has no way to know what it's contents should be. Have you tried escaping the layout:set part from the cacheing? That may or may not work. Worst case, and the route that I ended up taking is to just use native tag ...


Only top voted, non community-wiki answers of a minimum length are eligible