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

eZ debug

Timing: Jan 29 2025 14:42:54
Script start
Timing: Jan 29 2025 14:42:54
Module start 'content'
Timing: Jan 29 2025 14:42:54
Module end 'content'
Timing: Jan 29 2025 14:42:54
Script end

Main resources:

Total runtime0.2833 sec
Peak memory usage2,048.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0066 587.9297180.8359
Module start 'content' 0.00660.0063 768.7656101.8828
Module end 'content' 0.01290.2703 870.6484529.9063
Script end 0.2832  1,400.5547 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00321.1202200.0002
Check MTime0.00130.4596200.0001
Mysql Total
Database connection0.00100.369210.0010
Mysqli_queries0.230281.25721410.0016
Looping result0.00140.48451390.0000
Template Total0.269995.310.2699
Template load0.00080.281710.0008
Template processing0.269194.979410.2691
Override
Cache load0.00050.188110.0005
Sytem overhead
Fetch class attribute can translate value0.00080.289110.0008
XML
Image XML parsing0.00020.079810.0002
General
dbfile0.01274.4949200.0006
String conversion0.00000.001930.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs