Zum Inhalt springen

Seiten-ID per TS setzen

Erstellt am 4. Mai 2006 · 23 Antworten · letzte Antwort am 13. August 2008 · Seite 2 von 2

Tags: Seiten & Seitenbaum, Frage

droptix ·

Muss nochmal den Thread anstoßen... quäle mich hier schon wieder ne knappe Woche durch und schaffe es einfach nicht, den Wert der ausgelesenen 'backPid' auf die Variable 'alwaysActivePIDlist' umzuleiten. Habe mittlerweile auch keinen Ansatz mehr.

Vielleicht eine einfache Frage dazu: Im Beispiel oben verwende ich:

10 = TEXT
10.data = GPvar:tx_ttnews|backPid

Die Angabe 'TEXT' gibt mir das Ausgelesene ja sofort aus. Was müsste ich denn verwenden, damit das stattdessen zwischengespeichert und abrufbereit gehalten wird? Habe auch schon 'COA' probiert... ging ebenfalls nicht. Ich denke, am Ende müsste ich dann sowas machen:

temp.foo = KEINE_AHNUNG
temp.foo.data = GPvar:tx_ttnews|backPid
MENU = HMENU
MENU.alwaysActivePIDlist < temp.foo

Oder wie in Constants:

temp.foo = KEINE_AHNUNG
temp.foo.data = GPvar:tx_ttnews|backPid
MENU = HMENU
MENU.alwaysActivePIDlist = {$temp.foo}

Was müsste anstatt KEINE_AHNUNG stehen?

Kilkenny ·

Hallo droptix,
ich habe diesen Thread mal überflogen. Es geht doch darum, dass das Menü sich nicht verändern soll, wenn man auf die Single Ansicht geht. Ich könnte dir da einen komplett anderen Lösungsweg vorschlagen, den ich hier im Forum gefunden habe. Es gibt nämlich die Möglichkeit, die Listenansicht wie auch die Single Ansicht auf ein und derselben Seite anzeigen zu lassen, wodurch sich dein aktiver Menüpunkt nicht verändert:

LIST and SINGLE at the same page
With a small TypoScript condition it's possible to show the news SINGLE view at the same page where the LIST is. This has some advantages for realUrl links:

Insert this to the setup field:

      # clear the code field
      plugin.tt_news.code >
      plugin.tt_news.code = LIST

      # prevent indexing of the LIST view
      config.index_enable = 0

      [globalVar = GP:tx_ttnews|tt_news > 0]

        # set code to SINGLE if the GETvar tx_ttnews[tt_news] exists
        plugin.tt_news.code = SINGLE

        # enable indexing of the SINGLE view
        config.index_enable = 1

      [global]

      # clear main content in page object
      page.10.subparts.content >

      # load tt_news as content to the page object
      page.10.subparts.content < plugin.tt_news

Gefunden in folgendem Beitrag:
#37112

Hoffe das hilft

droptix ·

Hallo Kilkenny,

leider geht das nicht... das kommt halt immer drauf an, wie man 'tt_news' einsetzt. Ich verwende es als Seiteninhalt (Plugin -> News) und nicht als TS-geschriebenen Inhalt.

Das Grundproblem:

Ich habe ein Menü, bei denen einige Menüpunkte Seiten mit der News-LIST-Ansicht sind, in etwa so:

• root
— Startseite
— Sport*
— Politik*
— Wirtschaft*
— Impressum

*) Diese Punkte haben nix weiter drin als ein Content-Element vom Typ Plugin/News mit dem Code: LIST. Jede Seite zeigt mit ihrer LIST-Ansicht nur News aus bestimmten Kategorien an.

Dazu gibt's einen SysFolder, in dem alle News und die Kategorien stecken. Weiterhin gibt's eine Seite vom Typ 'Nicht im Menü' mit der SINGLE-Ansicht. Die steckt bei mir ebenfalls im SysFolder (was egal ist) und deren 'pid' ist in den Template-Constants angegeben: plugin.tt_news.singlePid = 10. Im Template-Setup wird die SINGLE-Ansicht einmalig definiert, da für alle News dieselbe Ansicht gelten soll (soll überall gleich aussehen): plugin.tt_news.singlePid = {$plugin.tt_news.singlePid}.

Wenn ich nun aus dem Menü den Punkt 'Sport' auswähle, werden mir die News aus der News-Kategorie 'Sport' angezeigt (wird über die LIST-Ansicht gefiltert). Beim Anklicken einer News springt TYPO3 zur SINGLE-Seite mit der pid = 10, die keine Unterseite von 'Sport' ist. Damit verliert das Menü seinen Fokus von 'Sport'.

Das Menü würde nur korrekt arbeiten, wenn die Seite mit der SINGLE-Ansicht eine Unterseite von 'Sport' wäre. Damit das aber für alle Menüpunkte klappt, müsste ich die SINGLE-Ansicht unter jede Seite des Menüs kopieren und der LIST-Ansicht mitteilen, dass nicht die im Template definierte singlePid verwendet werden soll. Dadurch wäre die SINGLE-Ansicht mehrfach vorhanden. Wenn man da mal was ändern will, muss man das in jeder Seite machen... das ist nur eine Fehlerquelle mehr und der Seitenbaum wird unübersichtlicher.

Wenn (Chef-)Redakteure dann noch in der Lage sein sollen, neue Menüpunkte anzulegen, müssten Sie auf diese Details achten, was ich denen weder zutraue noch zumuten möchte.

——————————

Außerdem: Die Idee mit 'alwaysActivePIDlist' funktioniert, wenn es dynamisch geschieht. Es ist doch nur eine winzige Hürde, den Wert der 'backPid' dort hinein zu "kopieren", oder? Hat dazu niemand die Lösung? TypoScript wird das doch sicher können 😢

steffenk ·

ich meinte eigentlich das
- Detail (versteckt im Menu, PID 12)
- Sport
-- Mount of 12
- Wirtschaft
-- Mount of 12
- TYPO3
-- Mount of 12

annett ·

mh ok.

habe noch was, wenn man das news plugin einbindet,
dann kann man immer eine Detailseite zuweisen die für die Anzeige genutzt wird.

Jetzt blende ich aber in diesem Modul rekursiv verschiedene News aus verschiedenen Verzeichnissen ein und hätte gern, das es je nachdem in welchem Verzeichnis sich die News befindet die passende Detailseite verwendet wird.

Geht sowas?
Oder ist das vielleicht nur mittels Kategorien lösbar?

Danke.

VG Annett

annett ·

hab eben gefunden das es per Kategorie geht.
plugin.tt_news.useSPidFromCategory = 1

Aber gibt es vielleicht noch einen Weg ohne Kategorien, evtl. per TS die pid's statisch zuweisen. Weiß das ist nicht unbedingt
schön aber dem Kunden jetzt die Umstellung auf Kategorien zuzumuten finde ich nicht gut.
Ausserdem habe ich in Erinnerung das das nicht ganz reibungslos lief bei meinen anfänglichen Tests (Typo3 4.2/ tt_news 2.5.0 )

Was meint Ihr?

Grüße
Annett