Tutorials

08.05.2008 11:41 Alter: 9 yrs

Typo3 ,TemplaVoila: Standardinhalt bei fehlendem Inhalt

Rubrik: Tutorials
Von: Thomas Schlüter

Standardinhalt, falls spezieller Inhalt in Typo3 fehlt

Für Typo3 gibt es die sehr flexible Extension TemplaVoila, mit dieser lassen sich schnell sehr flexible Seitenlayouts erstellen. Doch diese Flexibilität hat auch einen Nachteil, gibt ein Autor die Inhalte nicht vollständig ein, bleibt ein so angedachter Inhaltsbereich im Template leer, damit kann unter Umständen das Design der Seite deutlich negativ beeinflusst werden.

Natürlich lässt sich dieser „leere“ Bereich auch ganz wunderbar für Standardinhalte nutzen. Hier wird beschrieben, wie das Problem gelöst werden kann.

Templavoila: Standardinhalt einblenden

Damit ein Standardinhalt angezeigt wird, falls der eigentliche Inhalt fehlt, muss in Typo3 unter Template der folgende Typoscript-Code ergänzt werden. Allerdings ist es mit dieser Ergänzung noch nicht getan. Denn in diesem Beispiel wird das Content-Element "right_content" per Typoscript angesprochen, das gelingt natürlich nur, wenn auch in TemplaVoila Datastructure (DS) das Objekt existiert. Daher muss auch bei TemplaVoila anschließend noch eine kleine Änderung vorgenommen werden.

Typoscript-Code für Standardinhalt

# Falls der Content auf der Seite vorhanden ist, wird dieser geladen

# In diesem Fall heißt das Element das mit ifEmpty auf fehlenenden Inhalt geprüft wird right_content (anpassen, wenn nötig)

lib.right_content = CONTENT

lib.right_content {

table = tt_content

select {

# Hier wird die ID der Website definiert für die der Content abgefragt werden soll

pidInList = this

orderBy = sorting

where=colPos=1

}

}

# Andernfalls wird der Standardinhalt angezeigt, damit das Inhaltselement nicht leer ist.

lib.right_content.stdWrap.ifEmpty.cObject = CONTENT

lib.right_content.stdWrap.ifEmpty.cObject {

table = tt_content

select {

# Hier wird die ID der Website definiert, die den alternativen Inhalt enthält

pidInList = 23

orderBy = sorting

where=colPos=1

}

}

Datastrcuture von TemplaVoila für Inhalt anpassen

In der gesamten Datastructur ist der folgende Eintrag der entscheidende:

...

<TypoScriptObjPath>lib.right_content</TypoScriptObjPath>

...

 

Damit ist das eigentlich nicht direkt erreichbare Content-Element jetzt doch über Typoscript ansprechbar.


<field_right_content type="array">

<tx_templavoila type="array">

<title>Inhalte für die rechte Spalte</title>

<description> Pick the HTML element in the template where you want to place additional content of the site placing it in the right column.</description>

<sample_data type="array">

<numIndex index="0"></numIndex>

</sample_data>

<eType>ce</eType>

<TypoScript><![CDATA[

10= RECORDS

10.source.current=1

10.tables = tt_content

10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->

]]></TypoScript>

<oldStyleColumnNumber type="integer">1</oldStyleColumnNumber>

<TypoScriptObjPath>lib.right_content</TypoScriptObjPath>

</tx_templavoila>

<TCEforms type="array">

<config type="array">

<type>group</type>

<internal_type>db</internal_type>

<allowed>tt_content</allowed>

<size>5</size>

<maxitems>200</maxitems>

<minitems>0</minitems>

<multiple>1</multiple>

<show_thumbs>1</show_thumbs>

</config>

<label>Inhalte für die rechte Spalte</label>

</TCEforms>

</field_right_content>

Ansprechpartner

ilexius GmbH, Dipl.-Kfm. Thomas Schlüter

Rechtliches

Jegliche Haftung der ilexius GmbH bei Verwendung der dargestellten Software oder Vorgehensweisen ist ausgeschlossen. Die ilexius GmbH haftet nicht für mögliche Schäden die durch die Verwendung dieses Dokuments entstehen. Die Darstellung beruht auf Erkenntnissen aus der Arbeit der Mitarbeiter von ilexius. Es ist nicht auszuschließen, dass einzelne Aspekte bei anderen Systemen nicht zutreffen oder möglicherweise Probleme verursachen.

Das Dokument unterliegt dem Copyright der ilexius GmbH. Sollten Sie unsicher sein bzgl. der Nutzung dieses Dokuments, wenden Sie sich an die Ansprechpartner des Dokuments.