Zum Inhalt springen

Subtitle in Navigation

Erstellt am 7. April 2008 · 6 Antworten · letzte Antwort am 5. September 2012

Tags: Frage

baba_von_dau ·

Hallo,

ich bin neu in TYPO3 und grübel nun schon rund 2 Stunden über einem Problem. Das Forum konnte mir nur Ansatzweise weiterhelfen.

Mein anliegen:
Ich hab ein auf Tabs basierendes horizontales Menü. Dort sollen die Seiten der 1. Ebene angezeigt werden. Klappt! Doch unter dem Namen der jeweiligen Seite soll der Subtitle stehen. Hier ein Ausschnitt meines TS:

# Menu 1 cObject

temp.tab_menu_1 = HMENU

temp.tab_menu_1.1 = TMENU

temp.tab_menu_1.1 {

    # Normal state properties

      NO {
               wrapItemAndSub =  <li>|</li>
               allWrap.insertData = 1
               stdWrap.htmlSpecialChars = 1
               ATagTitle.field = subtitle//title
               ATagParams.insertData = 1
               linkWrap = | <br><span> => SUBTITLE HIER <= </span>
               ATagBeforeWrap = 1
               ATagParams = class="passive"
         } 
                      
    # Enable active state and set properties:

  ACT = 1
  ACT.ATagParams = class="active"
  ACT.allWrap = <li> | </li>
}

Das ganze muss natürlich für ACT auch definiert werden. Aber hier erstmal vernachlässigt. Die Stelle wo Subtitle auftauchen soll ist mit "=> SUBTITLE HIER <=" markiert.

So, hoffe mal das mir jemand helfen kann 🙂

Danke schonmal für jede Hilfe!

brokemeister ·

Hi,

du kannst einfach den afterWrap (oder so ähnlich -> Schau mal in der TS-Referenz) nehmen, bei dem du ein cObject einfügen kannst. Für dieses Object setzt du dann das Field auf "subtitle" und kannst es entsprechend wrappen....

Gruß

Malte

SLAng ·

Wenn beides den selben Link haben kann, dann würde ich append nehmen. Es handelt sich dabei einfach um ein Objekt, das dem Inhalt folgt.
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Functions/Stdwrap.html
Wenns keinen Link braucht, oder keinen haben soll, dann würde ich after (nicht afterWrap) nehmen.
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Hmenu/Tmenu/Tmenuitem.html
Ansonsten bleibt auch noch die Möglichkeit das mit einem COA zu machen.
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/CoaAndCoaInt/Index.html

baba_von_dau ·

Hallo,

danke erstmal aber öhm leider verstehe ich nicht was ihr mir sagen wollt. Beschäftige mich erst seit dem WE mit TS und das ist schon sehr mächtig.

@SLAng
Das ist einfach ein Menü der ersten Ebene. Haben also alle einen unterschiedlichen Link.

Mit dem Link soll der Subtitle der verlinkten Seite angezeigt werden.

Vielleicht ist es so etwas klarer 🙁

MfG

SLAng ·

Na dann würde ich es mit append machen: (bei dem br musst den Unterstrich natürlich rausnehmen

temp.tab_menu_1 = HMENU

temp.tab_menu_1.1 = TMENU

temp.tab_menu_1.1 {

    # Normal state properties

	NO {
		wrapItemAndSub =  <li>|</li>
		allWrap.insertData = 1
		stdWrap {
			htmlSpecialChars = 1
			append = TEXT
			append {
				field = subtitle
				wrap = <br_/><span>|</span>
			}
		}
		ATagTitle.field = subtitle//title
		ATagParams.insertData = 1
		ATagBeforeWrap = 1
		ATagParams = class="passive"
        }
                     
    # Enable active state and set properties:

  ACT = 1
  ACT.ATagParams = class="active"
  ACT.allWrap = <li> | </li>
}
ChristianL ·

Hallo SLang,

danke für den Code, ich hatte eine schlanke Version bei der ich aber am html encoden gescheitert bin. Aber vorenthalten möchte ich sie nich, da sehr kompakt. Hier der Ausschnitt ohne die ATag Settings:

NO {
	stdWrap.wrap.insertData = 1
	stdWrap.wrap = | <br/><span>{field:subtitle}</span>
	wrapItemAndSub =  <li> | </li>
}

Bei deinem Script ist mir aufgefallen, dass die Werte von Subtitle nicht als html special chars ausgegeben werden, spricht ein Subtitle "Das <ist> toll" würde als "Das toll" angezeigt. Außerdem gab es einige unnötige Zeilen. Hier also für's Archiv und für Leute, die ebenfalls eine entsprechende Lösung suchen, der korrigierte Code, der zusätzlich auch den Zeilenumbruch und den Span weg lassen, wenn kein Subtitle vorhanden ist.

NO {
	stdWrap {
		append = TEXT
		append {
			field = subtitle
			wrap = <br/><span> | </span>
			htmlSpecialChars = 1
			required = 1
		}
	}
	wrapItemAndSub = <li> | </li>
	ATagTitle.field = subtitle//title
	ATagParams = class="passive"
}

Happy TYPO
Christian