Setting up a context-based 2-col / 3-col layout mode ?

Author Message

Barn Foo

Monday 06 March 2006 5:58:42 pm

First, hello to all :)

I've been circling around eZ publish for a while (yeah, like sharks circle around a potential prey ;)) as I'm trying to define the best suited CMS for a website I'm building.

Having toyed a bit with the two, *tried* to read as much as I could about the two solutions, I'm going to choose eZ publish over typo3 for various reasons.
<b>Feel free to skip those paragraphs an head directly to my question (hint: <CTRL+F> "my question")</b>

Those reasons include :
- an apparent lower learning curve - typoscript didn't helped- ;
- a far more intuitive admin interface for computer semi-illiterate (understand : non-developers) AND for the developer/technical admin (understand : me) ;
- a somehow more evident content management system (versioning) ;
- built-in multilingual content management ;
- some nice features : full xml storage (well, I didn't had a look at my MySQL yet to know if it was true :)), the RAD link in setup (I must admit I was impressed :)).
- "killing-app" : "define your content type yourself".

Some lower points though, and among them, the ability to easily add highly structured content step-by-step (like in typo : "text with image on the right", "bullet list" etc...

Still, I know I'm far from mastering the core of the systems, what I read about the overrides and what I saw from the template ressemble closely to the type of dynamic web sites I'm used to design (ie smarty based).

<b>So here's my question</b> (at last) : is there a simple way to set up a "liquid" design with an alternate 2 columns / 3 columns display according to a precise context ?

For instance : on the homepage of the website (fixed width design), I'll need a 3-col design : the header with toolbars, 1 left column with pics or small text panels, 1 main column with various "news" items, 1 right columns with shortcuts to other pages (as it's already available as the "right toolbar").
On another internal page, I'll have to display a big image map (geo map) with dynamic data, so I'll need the "left + center" space to display my content (fixed width design).

Is it possible/simple :
1) to "create" a toolbar out of nothing : hence my "left toolbar" ?
2) to similarly bind this toolbar to display different content according to the node I'm in (and the answer should be "yes" as it is possible with the right toolbar) ?
3) to perform at some stage a conditional switch of page layout between the 2-col or 3-col layout ?

Thanks for any guidance/help/"been there, done that"

Gabriel Ambuehl

Tuesday 07 March 2006 6:36:21 am

Any three of them are possible. Maybe not entirely trivial but not very hard either. You will have to do some thinking about how context is defined and implemented of course.

As for how to implement the left toolbar: in essence you could copy the right toolbar and add some suitable CSS to create a right one (there is in fact fully working CSS for a three column layout with the standard design when you have nagivation left, content middle, toolbar right and it's quite easy to get it to be liquid, too [1]).

It should likely be possible to do without any PHP coding but prepare to dig into template language quite a bit.

[1] essentially you have to change the width of the all encompassing div ;)

PS: I have chosen ez over typo3 for much the same reasons ;)

Visit http://triligon.org

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 18 2025 16:27:06
Script start
Timing: Jan 18 2025 16:27:06
Module start 'layout'
Timing: Jan 18 2025 16:27:06
Module start 'content'
Timing: Jan 18 2025 16:27:07
Module end 'content'
Timing: Jan 18 2025 16:27:07
Script end

Main resources:

Total runtime1.0745 sec
Peak memory usage4,096.0000 KB
Database Queries54

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0078 589.2578152.6406
Module start 'layout' 0.00780.0042 741.898439.4766
Module start 'content' 0.01201.0610 781.3750499.3281
Module end 'content' 1.07300.0013 1,280.703112.1250
Script end 1.0743  1,292.8281 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00370.3454160.0002
Check MTime0.00140.1313160.0001
Mysql Total
Database connection0.00080.071410.0008
Mysqli_queries1.024895.3798540.0190
Looping result0.00050.0496520.0000
Template Total1.035496.420.5177
Template load0.00210.196920.0011
Template processing1.033296.161420.5166
Template load and register function0.00020.014410.0002
states
state_id_array0.00130.118110.0013
state_identifier_array0.00160.148420.0008
Override
Cache load0.00180.1688300.0001
Sytem overhead
Fetch class attribute can translate value0.00070.066320.0004
Fetch class attribute name0.00090.085120.0005
XML
Image XML parsing0.00030.024220.0001
class_abstraction
Instantiating content class attribute0.00000.000520.0000
General
dbfile0.00120.1102100.0001
String conversion0.00000.000840.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
2content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
6content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
4content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 14
 Number of unique templates used: 5

Time used to render debug report: 0.0001 secs