TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

TV und globalVar


Autor Nachricht
Verfasst am: 26. 05. 2009 [16:18]
tomsen81
Themenersteller
Dabei seit: 14.05.2008
Beiträge: 17
Hallo zusammen,

ich bin gerade am Verzweifeln! icon_frown.gif
Da ich noch nicht so wahnsinnig viel mit TemplaVoila gearbeitet hab, fehlt mir irgendwie der entscheidene Denkanstoß zu folgendem Problem:
Auf der Seite mit der ID 51 will ich über TypoScript mir einen eigenen Content mithilfe von TypoScript zusammenbasteln. Im TO wird der Inhaltsbereich mit "Content Elements" gemapped.

Ohne TemplaVoila wäre dieses Vorhaben für mich kein Problem, da man sich ja ganz einfach mit
TYPOSCRIPT
[globalVar = TSFE:id=51]

die Contentvariable (temp.content) anders als auf den "normalen" Seiten befüllen lassen kann.

Aber wie funktioniert das mit TemplaVoila? Wo muss ich da was drehen?

Ich hab das Content-Mapping schon auf einen TypoScript Object Path (lib.content) geändert (mit der dazugehörigen Condition usw.), was auch super funktioniert hat, leider sind aber dann im Backend die Content-Elemente bei "Seite" verschwunden.
War das der richtige Weg?

Wär sehr dankbar, wenn mir jemand helfen bzw. einen Denkanstoß/Link geben könnte!

Grüße,
Tom
Profil
Verfasst am: 26. 05. 2009 [16:31]
froemken
Dabei seit: 30.01.2007
Beiträge: 740
Diese global-Dinger klappen nicht in TemplaVoila. Mach das lieber mit den if's. Folgendes Script hab ich nicht getestet, aber es zeigt Dir in welche Richtung du gehen solltest.

PS: Wenn du gleich den ObjectPath wieder durch ein CE ersetzt, dann ist der ObjectPath im XML leider nicht automatisch weg. Diesen Tag (<TypoScriptObjectPath>lib.myContent</TypoScriptObjectPath>icon_wink.gif musst du im XML manuell löschen.

TYPOSCRIPT
10 = COA
10.10 = RECORDS
10.10.if.value = 51
10.10.if.isEqual.data = pages:id
10.10.if.negate = 1
10.10.source.current=1
10.10.tables = tt_content
10.10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->
10.20 = TEXT
10.20.if.value = 51
10.20.if.isEqual.data = pages:id
10.20.value = Und hier ist mein eigener Content
10.20.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->


froemken

All meine TYPO3-Problemlösungen und Hilfestellungen landen hier:
http://typo3.sfroemken.de
ProfilWWW
Verfasst am: 26. 05. 2009 [16:50]
tomsen81
Themenersteller
Dabei seit: 14.05.2008
Beiträge: 17
Vielen Dank für die promte Antwort!

Leider funktioniert das Script nicht. Es wird der "normale" Inhalt zwar angezeigt, aber auf der Seite mit der ID 51 erscheint leider nicht der Satz "Und hier ist mein eigener Content".

Ich muss das Snippet schon in die XML-DO einfügen, oder?
TYPOSCRIPT
<TypoScript><![CDATA[
10 = COA
10.10 = RECORDS
10.10.if.value = 51
10.10.if.isEqual.data = pages:id
10.10.if.negate = 1
10.10.source.current=1
10.10.tables = tt_content
10.10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->
10.20 = TEXT
10.20.if.value = 51
10.20.if.isEqual.data = pages:id
10.20.value = Und hier ist mein eigener Content
10.20.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->	
]]></TypoScript>
Profil
Verfasst am: 26. 05. 2009 [17:32]
matin
Dabei seit: 09.08.2008
Beiträge: 90
wenn du den inhaltsbereich mit lib.content gemappt hast, dann gibt es 2 möglichkeiten, um an dieser stelle inhalt anzuzeigen:

variante 1 - beispiel wird reiner text dargestellt, kann man aber jeden inhalt rein geben:
TYPOSCRIPT
[globalVar = TSFE:id=51]
lib.content = TEXT
lib.content.value = <h1>Headline</h1> <p>Und hier ein wenig Text.</p>
[global]


oder du legst dir auf irgendeiner seite (im menü verborgen) ein content element an (z. b. mit id 12)
TYPOSCRIPT
[globalVar = TSFE:id=51]
lib.content = COA
lib.content {
10 = RECORDS
10.tables = tt_content
10.source = 12
}
[global]
Profil
Verfasst am: 26. 05. 2009 [18:00]
tomsen81
Themenersteller
Dabei seit: 14.05.2008
Beiträge: 17
Hm, wenn ich aber den Inhaltsbereich mit einen TypoScript Object Path gemappt habe, verschwinden die Inhaltselemente, welche ich für die Seite angelegt hab.
Jedoch hab ich gerade festgestellt, dass sich diese unter dem Tab "nicht verwendete Elemente" verstecken.
Kann ich diese Elemente irgendwie in den normalen Inhaltsbereich verschieben?
Aktuell hab ich nur die Funktionen "Verknüpfung erstellen", "Löschen" und das Kontektmenü.
Profil
Verfasst am: 27. 05. 2009 [08:11]
froemken
Dabei seit: 30.01.2007
Beiträge: 740
Ein Fehler von mir: Es heißt page:id und nicht pages:id. Aber das klappt auch nicht. Schreib stattdessen TSFE:id rein, dann geht's...grad getestet.

froemken

All meine TYPO3-Problemlösungen und Hilfestellungen landen hier:
http://typo3.sfroemken.de
ProfilWWW
Verfasst am: 27. 05. 2009 [14:19]
tomsen81
Themenersteller
Dabei seit: 14.05.2008
Beiträge: 17
Ach, ich bin echt am Verzweifeln!
Leider funktioniert das bei mir auch nicht... Der Satz "Und hier ist mein eigener Content" wird zwar angezeigt, aber der "normale" Inhalt der Seite erscheint auch. Es sollte aber nur der Dummy-Satz erscheinen.

Ich poste mal den Abschnitt vom XML der Datenstruktur:
HTML
<field_content type="array">
  <tx_templavoila type="array">
    <title>CONTENT</title>
    <sample_data type="array">
      <numIndex index="0"></numIndex>
    </sample_data>
    <eType>ce</eType>
    <oldStyleColumnNumber type="integer">0</oldStyleColumnNumber>
    <eType_EXTRA type="array">
      <objPath>lib.myObject</objPath>
    </eType_EXTRA>
    <TypoScript><![CDATA[
    10 = COA
    10.10 = RECORDS
    10.10.if.value = 51
    10.10.if.isEqual.data = TSFE:id
    10.10.if.negate = 1
    10.10.source.current=1
    10.10.tables = tt_content
    10.10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->
    10.20 = TEXT
    10.20.if.value = 51
    10.20.if.isEqual.data = TSFE:id
    10.20.value = Und hier ist mein eigener Content
    10.20.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->
    ]]></TypoScript>
  </tx_templavoila>
  <TCEforms type="array">
    <label>CONTENT</label>
    <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>
  </TCEforms>
</field_content>


Ich denke, dass ich ganz kurz vor der Lösung stehe... aber dafür brauche ich nochmal eure Hilfe!

Vielen Dank schonmal!

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 27.05.2009 um 14:26.]
Profil
Verfasst am: 27. 05. 2009 [14:40]
froemken
Dabei seit: 30.01.2007
Beiträge: 740
Au weia...da hab ich mir aber selbst ins Knie geschossen...oder wie sagt man. In meinem Test hatte ich zwar das Content Element angelegt, aber nicht mit einem Beispiel Content gefüllt. Zweitens besitzt das Content Element RECORDS keine stdWrap-Funktion welhalb ich nochmals nachbessern musste. Argh...naja...bins ja auch selbst Schuld gewesen:

TYPOSCRIPT
10 = COA
	10.10 = TEXT
	10.10.if.value = 80
	10.10.if.equals.data = TSFE:id
	10.10.if.negate = 1
	10.10.cObject =	RECORDS
	10.10.cObject {
		source.current=1
		tables = tt_content
		wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->
	}
	10.20 = TEXT
	10.20.if.value = 80
	10.20.if.equals.data = TSFE:id
	10.20.value = Und hier ist mein eigener Content
	10.20.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->


Dat Dingen ist jetzt aber wirklich TESTED!!!

froemken

All meine TYPO3-Problemlösungen und Hilfestellungen landen hier:
http://typo3.sfroemken.de
ProfilWWW
Verfasst am: 27. 05. 2009 [14:52]
tomsen81
Themenersteller
Dabei seit: 14.05.2008
Beiträge: 17
Jetzt funktioniert's einwandfrei!
Optimal, jetzt kann's wieder weitergehen!

VIELEN DANK!
you made my day!

icon_biggrin.gif

Grüße
Tom
Profil