Condition: Datenstruktur

  • sukram sukram
    T3PO
    0 x
    18 Beiträge
    0 Hilfreiche Beiträge
    20. 10. 2009, 17:29

    Hallo,

    ich bin derzeit dabei an meiner Seite ein wenig rumzuspielen und bin nun auf einen Fall gestoßen in dem ich eine Condition einbauen die vergleicht ob die aktuelle Seite die Datenstruktur xy benutzt.

    Im Prinzip also ähnlich der Condition [url=http://www.typo3.net/tsref/conditions/pidinrootline/]PIDinRootline[/url] nur eben mit der Templavoila Datenstruktur (alternativ auch das Vorlagenobjekt). Gibt es dort eine Möglichkeit?

    Liebe Grüße und Danke im Voraus
    sukram


  • 1
  • froemken froemken
    Jedi-Ratsmitglied
    0 x
    811 Beiträge
    1 Hilfreiche Beiträge
    30. 10. 2009, 08:19

    Willst du, dass sich ein FCE je nach Datenstruktur anders verhält?

  • sukram sukram
    T3PO
    0 x
    18 Beiträge
    0 Hilfreiche Beiträge
    03. 11. 2009, 12:56

    Hallo froemken,

    [quote="froemken"]
    Willst du, dass sich ein FCE je nach Datenstruktur anders verhält?
    [/quote]

    Im Prinzip ja. Ich suche nach einer Lösung mit der ich zum Beispiel die Bildbreiten abhängig vom Seitentyp konfigurieren kann. In anderen Fällen nutze ich Conditions für solche Dinge. Um den Seitentyp abzufragen habe ich allerdings bisher noch nichts gefunden.

    LG
    sukram

  • froemken froemken
    Jedi-Ratsmitglied
    0 x
    811 Beiträge
    1 Hilfreiche Beiträge
    03. 11. 2009, 13:16

    Arbeitest du auf Basis von TypoScript oder eigene Extension?

    Bei TypoScript kannst du auf die aktuelle Seite zugreifen mit:
    TSFE:page|[Tabellenspalte]

    zum Beispiel so:
    TSFE:page|uid //Seiten ID
    TSFE:page|doctype //Seitenart
    TSFE:page|title //Seitentitel

    In einer Extension machst einfach ein:

    print_r($GLOBALS['TSFE']->page);

    Dann siehst du welche Tabellenfelder zur Verfügung stehen. So auch die beiden Tabellenfelder, um die templavoila-DS abzufragen.

    Hilft Dir das schon?

    Stefan

  • sukram sukram
    T3PO
    0 x
    18 Beiträge
    0 Hilfreiche Beiträge
    13. 11. 2009, 11:10

    Hallo Stefan,

    danke für die Antwort. Hat mich auf jeden Fall weiter gebracht. Ganz am Ziel bin ich aber leider noch nicht.

    Derzeit sieht der Ausschnitt des XML in meinem Contente Element wie folgt aus:
    [TS][globalVar = TSFE:page|tx_templavoila_ds = 2]
    10.file.maxW = 550
    [end][globalVar = TSFE:page|tx_templavoila_ds = 1]
    10.file.maxW = 940
    [end][/TS]

    Das greift allerdings nicht. Ich möchte hier erreichen, dass die maximale Breite auf der Startseite (DS = 1) für dieses Element auf 940 Pixel begrenzt wird und auf einer normalen Inhaltsseite (DS = 2) auf 550 Pixel.

    Wenn ich das Element so auf einer Seite platziere werden die Bilder allerdings auf beiden Seiten auf 800 Pixel runtergerechnet. Ich vermute, dass das Element in dem Moment wo ich es platziere und das Bild berechnet wird, nicht auf die Variable zugreifen kann und daher den Wert nicht richtig setzt.

    Gibt es trotzdem eine Möglichkeit die maximale Breite eines Bildes abhängig von der aktuellen Templavoila Datenstruktur zu setzen?

    Liebe Grüße
    sukram

  • froemken froemken
    Jedi-Ratsmitglied
    0 x
    811 Beiträge
    1 Hilfreiche Beiträge
    13. 11. 2009, 12:10

    Schau dir bitte mal die if-Eigenschaft von TypoScript an:

    [TS]10 = TEXT
    10.if.value = 2
    10.if.equals.data = TSFE:page|tx_templavoila_ds
    10.value = Ich bin ein Text, der nur angezeigt wird, wenn tx_templavoila_ds = 2 ist
    [/TS]

    Stefan

  • 1