Forums / Developer / [BUG?]Match[parent_class_identifier] eZ 3.10 on view line

[BUG?]Match[parent_class_identifier] eZ 3.10 on view line

Author Message

Sébastien Morel

Tuesday 22 January 2008 3:39:33 am

Hi,

I find a strange behaviour for the override condition <b>parent_class_identifier</b>

[image_album]
Source=node/view/line.tpl
MatchFile=line/image_album.tpl
Subdir=templates
Match[class_identifier]=image
Match[parent_class_identifier]=album

This bloc doesn't work.
If I just define :

[image_album]
Source=node/view/line.tpl
MatchFile=line/image_album.tpl
Subdir=templates
Match[class_identifier]=image

it's work.

When I test the <b>parent_class_identifier</b> override condition with a view full It seem to be ok.
Ex :

[album_full]
Source=node/view/full.tpl
MatchFile=full/album.tpl
Subdir=templates
Match[class_identifier]=album
Match[parent_class_identifier]=folder

Why the override condition doesn't work vith a view line ? It's normal behavior ? (I think not)
Somebody can confirm my bug ?

Thanks

It's under ez3.10 with the windows installer configuration... :(

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

Sébastien Morel

Thursday 24 January 2008 2:23:38 am

Nobody ever had this problem? Or not yet?
Thanks

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

Sébastien Morel

Tuesday 29 January 2008 6:05:04 am

Can someone try it ... ?

Thanks for your help.

Séb

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

Sébastien Morel

Thursday 15 May 2008 8:17:00 am

Hi,

I think, I have understood the reason of this bug.

When I read the doc, it's explain the parent_class_identifier works for node/view/*.tpl
http://ez.no/doc/ez_publish/technical_manual/4_0/reference/template_override_conditions

But the parent_class_identifier value is defined one time for the view full node context
in kernel/classes/eznodeviewfunctions.php line 115

So, if in a view full article (contains in a folder) I want to list the comment and,
If I have an override of this type

[comment_line_for_article]
Source=node/view/line.tpl
MatchFile=comment/comment_article.tpl
Subdir=templates
Match[parent_class_identifier]=article
Match[class_identifier]=comment

It doesn't work, but :

[comment_line_for_article]
Source=node/view/line.tpl
MatchFile=comment/comment_article.tpl
Subdir=templates
Match[parent_class_identifier]=folder
Match[class_identifier]=comment

works because the system take the parent_class_identifier of the current node (in view full, the parent of my article is a folder and the override match..) and it does'nt verify the parent_class_identifier of my comment under article.

It's clear ?
But, I don't know yet how fix it !

Somebody know ?

Séb

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

Gaetano Giunta

Thursday 15 May 2008 8:45:53 am

Not sure I really understand the last comment in this thread.

If node of class B is child of node of class A, you can (should be able to) override tpl for view of node B, stating

Source=node/view/full.tpl
Match[parent_class_identifier]=A
Match[class_identifier]=B

This of course is triggered when you are viewing a node B object.

If you have class C that is child of the node of class B, you have to use:

Source=node/view/full.tpl
Match[parent_class_identifier]=B
Match[class_identifier]=C

and this override rule will apply when you browse to node C.

If you are instead browsing to node B, and displaying its children, you are most likely using "content_view_gui view=line". In this case the template used for nodes C is not node/view/line.tpl, but content/view/line. You should try this override:

Source=content/view/line.tpl
Match[parent_class_identifier]=B
Match[class_identifier]=C

Principal Consultant International Business
Member of the Community Project Board