Forums / Install & configuration / Template inheritance

Template inheritance

Author Message

Rib Rdb

Monday 03 February 2003 5:09:27 pm

Is it possible to have template inheritance. For example, I create an override template for node 239 ( a folder). This folder has two child folders ( say 241 & 242 ). Is it possible to make it so that these children will use the template from node 239 instead of the standard folder template?

Paul Borgermans

Tuesday 04 February 2003 12:25:26 am

> Is it possible to have template inheritance. For example,
> I create an override template for node 239 ( a folder).
> This folder has two child folders ( say 241 & 242 ). Is it
> possible to make it so that these children will use the
> template from node 239 instead of the standard folder
> template?

That would be handy, but probbaly at the cost of a processing overhead.

I guess that's what sections are meant for

Paul

eZ Publish, eZ Find, Solr expert consulting and training
http://twitter.com/paulborgermans

Atle Enersen

Tuesday 04 February 2003 12:49:33 am

> Is it possible to have template inheritance. For example,
> I create an override template for node 239 ( a folder).
> This folder has two child folders ( say 241 & 242 ). Is it
> possible to make it so that these children will use the
> template from node 239 instead of the standard folder
> template?

Well, a workaround (in Unix) is to use symlinks in the filesystem.

\atle\
--

Rib Rdb

Tuesday 04 February 2003 4:04:15 pm

> > Is it possible to have template inheritance. For
> example,
> > I create an override template for node 239 ( a folder).
> > This folder has two child folders ( say 241 & 242 ). Is
> it
> > possible to make it so that these children will use the
> > template from node 239 instead of the standard folder
> > template?
>
> That would be handy, but probbaly at the cost of a
> processing overhead.
>
> I guess that's what sections are meant for
>
> Paul

But it isn't possible to have sub-sections is it? And even so, a section defines the entire page layout instead of just part of the page. I suppose a work around would be just creating a new content class.

Christoph Schneider

Wednesday 05 February 2003 3:07:09 am

> Is it possible to have template inheritance. For example,
> I create an override template for node 239 ( a folder).
> This folder has two child folders ( say 241 & 242 ). Is it
> possible to make it so that these children will use the
> template from node 239 instead of the standard folder
> template?

Maybe this is what you're looking for:

This is to be found in the standard pagelayout.tpl:
{include uri="design:left_menu.tpl"}
It should be possible to set the content object to be displayed by giving it as an argument:
{include object=$content_object uri="design:[template_filename]"}

So, create node templates for both child nodes and include the above statements (setting the object to display and the template of the parent folder).

However, as all the nodes you spoke about are folders...
Other possible solutions would either be to edit the folder full view template (/design/user/override/templates/node/view/full_class_1.tpl, as in the standard folder content type that comes with the demo content) or to create a new content type (maybe called special_folder) and to create new templates for it.

Christoph Schneider

Wednesday 05 February 2003 3:07:35 am

> Is it possible to have template inheritance. For example,
> I create an override template for node 239 ( a folder).
> This folder has two child folders ( say 241 & 242 ). Is it
> possible to make it so that these children will use the
> template from node 239 instead of the standard folder
> template?

Maybe this is what you're looking for:

This is to be found in the standard pagelayout.tpl:
{include uri="design:left_menu.tpl"}
It should be possible to set the content object to be displayed by giving it as an argument:
{include object=$content_object uri="design:[template_filename]"}

So, create node templates for both child nodes and include the above statements (setting the object to display and the template of the parent folder).

However, as all the nodes you spoke about are folders...
Other possible solutions would either be to edit the folder full view template (/design/user/override/templates/node/view/full_class_1.tpl, as in the standard folder content type that comes with the demo content) or to create a new content type (maybe called special_folder) and to create new templates for it.

Jan Borsodi

Thursday 06 February 2003 2:50:40 am

> Is it possible to have template inheritance. For example,
> I create an override template for node 239 ( a folder).
> This folder has two child folders ( say 241 & 242 ). Is it
> possible to make it so that these children will use the
> template from node 239 instead of the standard folder
> template?

We will add support for override aliases, this allows you to add mulitple matches and give it an alias for instance my_folder and match it with full_alias_my_folder.
This will also allow overrides for combinations, like override for section 2 but only class 5.
However the exact nature of this feature is not done so it's not certain we will have the time to add it for 3.0, if not it will be present in a later release.

--
Amos

Documentation: http://ez.no/ez_publish/documentation
FAQ: http://ez.no/ez_publish/documentation/faq