Forums / Developer / Template override conditions: More informations ?

Template override conditions: More informations ?

Author Message

Sébastien Morel

Wednesday 25 April 2007 11:30:18 am

Hello,

http://ez.no/doc/ez_publish/technical_manual/3_8/reference/template_override_conditions
This page show differents ways to override a template, I haven't bugs, I understand everything expect this 3 conditions on the node/view/*.tpl :

view_offset: Matches the offset view parameter.

Could you give me an example ?

viewmode: Matches the name of the view mode (full, line, etc.)

I could understand this condition but, in the bloc of override, we can define the source ex: node/view/full.tpl so we define already the view, in my example : full.
What's the differences ? Could you give me an example ?

persistent_variable: Matches the value of the persistent variable.

I understand this condition but Could you give me an example ?

Thanks

Séb

--
eZ c'est plus fort que toi !
http://www.ez-france.org
http://blog.plopix.net
@Novactive (http://www.novactive.com)

Nabil Alimi

Wednesday 25 April 2007 12:43:55 pm

Hi Séb :)

What follows is what I tried and learn of my own experience.

Regarding the persistent_variable match conditions, it never happened to work. At least with me. It is related with the $module_result.[...].persistent_variable variable. Though, since eZp 3.7.3 (the version I tried it on), I didn't test it again.

Note that you can override any template call. That means this works also with <b>{include...}</b> statement.

Here is how i've been using it in my own website (http://www.starnab.com).

The <b>pagebody.tpl</b> is my default template that shows the main content of my page (article list for example) and the boxes on the left (you know, the ones with drag'n'drop enabled ;-p). For the sitemap of my site (http://www.starnab.com/plan-du-site), I did not need the boxes to show up. I needed to have a specific pagebody.tpl that had no right part.
So rather than having some messy "if" statements in my templates, I used this piece of override instead :

[plan-du-site_page_body]
Source=pagelayout/page_body.tpl
MatchFile=pagelayout/page_body/fullpage.tpl
Subdir=templates
Match[viewmode]=sitemap

I needed to make sure that the override applied only on the sitemap view since a sitemap is just a specific view of a node. If there was not this line, the override would have applied to my entire site which was not what I was aiming for.
This makes maintenance much more easier from my point of view with an easier template code to re-read.

And finally, I have never tried the view_offset so far. :)
It obviously has something to do with the $module_result.view_parameters.offset variable

Hope it helped.

A+

My blog : http://www.starnab.com/ezpublish / http://www.starnab.com/ / http://www.assiki-consulting.com
eZ Publish Freelance developper. Feel free to contact me +33 674 367 057
nabil at assiki d0t fr

Sébastien Morel

Thursday 26 April 2007 4:27:18 am

Hi,

Thanks for your explanation, for the persistent variable I have understood but, I don't see how write the condition:

Macth[persistent_MYVARIABLE]=VALUE

or what ?

For the viewmode it's ok for me in the pagelayout but in the documentation the conditions are present too in the source: node/view/*.tpl ... Why ?

And for the view_offset, the question is always opened ;)

Thanks
Sébastien

--
eZ c'est plus fort que toi !
http://www.ez-france.org
http://blog.plopix.net
@Novactive (http://www.novactive.com)

Sylvain Bannier

Friday 24 August 2007 12:13:39 pm

Hi,

for the "persistent_variable", here is some explanation :

http://ez.no/community/forum/developer/how_to_use_match_persistent_variable

http://www.smile.fr