SOLUTION:  
[1] Das Spezielle Teaser-Objekt unterscheidet sich vom Standard-Teaser primär durch die meta_id. Diesen Sachverhalt nutzend lässt sich eine simple Fallunterscheidung im Teaser-Template durchführen und dieses in eine Rechts- und eine Links-Variante doppeln. Die Teaser-Templates werden benannt in pageelement_TeaserLeft und pageelement_TeaserRight. Der Aufruf dieser Templates erfolgt schliesslich in der linken bzw. rechte Seitenregion (pageregionLeft und pageregionRight).
[2] Für die Erweiterung der Standard-Objekte (ab ZMS 2.11) ist in drei Schritten vorzugehen::
1. Der Teaser-Container bekommt ein zusätzl. Layout-Attribut (z.B.
'attr_dc_type_layout').
2. Das Py-Script getTeaserElements() bekommt einen optionalen Paramater 'teaserlayout' ergänzt.
3. Das DTML-Template pageelement_Teaser wird nun einfach in beide Layouttemplates (pageregionRight/Left) gesetzt und unmittelbar davor per Request dem pageelement_Teaser der Layoutwert als 'teaserlayout' quasi mitgegeben.
Anm: eine explizite Deklaration des Layout-Wertes ist nicht erforderlich (siehe Code); damit ist der Ansatz kompatibel zum unqualifizierten Teaaser-Container.

Präsentation von zwei verschiedenen Teaser-Objekten: Links-teaser unud Standard-Teaser (rechts).

Ansicht eines Linksteaser-Layouts (Hintergrund) und Deklaration der layout-Eigenschaft in der Redaktionsansicht des Teaser-Containers

[1]
<!-- pageregionLeft -->
<div id="pageregionLeft">
<dtml-var pageelement_Macronavigation>
<dtml-var pageelement_TeaserLeft>
</div>
</!-- /pageregionLeft -->


<!--  pageregionRight -->
<div id="pageregionRight">
<dtml-var pageelement_Metanavigation>
<dtml-var pageelement_Search>
<dtml-var pageelement_TeaserRight>
<dtml-var pageelement_Links>
<br />
<br />
</div>
<!-- /pageregionRight -->

{[2]

Ad [1] getTeaserElements
# Params: teaserlayout=None
...
  for subob in subobs:
    if subob.meta_id == 'ZMSTeaserContainer' and (
subob.getObjProperty( 'attr_dc_type_layout', request) == teaserlayout or ( subob.getObjProperty( 'attr_dc_type_layout', request)== '' and teaserlayout == 'Right' ) ):
...

Ad [2] pageelement_Teaser
...
<dtml-let
teaserElmnts="getTeaserElements( teaserlayout=REQUEST.get('teaserlayout', None
))"
...


Ad [3] pageregionRight/pageregionLeft
<!--  pageregionRight -->
<div id="pageregionRight" class="span-6 last"> <dtml-call "REQUEST.set( 'teaserlayout', 'Right')">
<dtml-var pageelement_Teaser>
</div>
<!-- /pageregionRight -->

<!-- pageregionLeft -->
<div id="pageregionLeft" class="span-6"> <dtml-var pageelement_Macronavigation> <dtml-call "REQUEST.set('teaserlayout','Left')">
<dtml-var pageelement_Teaser>
</div>
<!-- /pageregionLeft -->

Teasers_ger.zip (2KB)

COMMENT: Das Zip-File Teasers.zip enthält die erste Lösungs-Variante (ZMS 2.8-2.10) per Spec.Objekt-Definition specObj_teaserElementLeft.xml für den Linksteaser sowie ein ZEXP mit den DTML-Templates pageelement_TeaserLeft und pageelement_TeaserRight; Ersteres rendert alle Linksteaser, während Letzteres alle Standard-Teaser rendert.

Erstellt von: Dr. Frank Hoffmann , erstellt am:  27.06.2008 , zuletzt geändert: 17.09.2009

Erstellt von: Dr. Frank Hoffmann , erstellt am:  27.06.2008 , zuletzt geändert: 17.09.2009