Es geht um folgendes:
Wenn man eine TYPO3 Extension hat, die eine Listenansicht und eine Single-Ansicht hat, dann kann man zwar für die Seite, auf der das Plugin liegt, Seitentitel und Meta-Daten vergeben, aber diese sind dann bei allen Unterseite gleich. Das mögen Suchmaschinen gar nicht.

Die Lösung für dieses Problem sieht wie folgt aus:

Auf der Seite, auf der das Plugin (in diesem Beispiel die Linkliste “ab_linklist”) liegt, packt man folgendes TypoScript:

# Condition, zieht nur an, wenn
# tx_ablinklist_pi1[category_uid] als
# Parameter in der URL steht (Wert egal, deswegen "> 0"
[globalVar = GP:tx_ablinklist_pi1|category_uid > 0]
lib.linkTitel=COA
lib.linkTitel {
# Wir wollen etwas auslesen und weiterverarbeiten,
# deswegen Klasse "Records"
10=RECORDS
10 {
# Wie lautet der Parameter, der benutzt werden soll?
# => "tx_ablinklist_pi1[category_uid]"
source = {GPvar:tx_ablinklist_pi1|category_uid}
source.insertData = 1
# Die Tabelle, aus der der Wert gelesen werden soll
tables = tx_ablinklist_category
conf.tx_ablinklist_category >
conf.tx_ablinklist_category = TEXT
# Das Feld in der Tabelle, aus das der Wert gelesen
# werden soll
conf.tx_ablinklist_category.field=label
}
}

=> Wir haben den “label” der Kategorie ausgelesen, die der Besucher gerade ansieht. Diesen können wir weiterverarbeiten (s.u.)

# so ähnlich wie oben, aber andere Condition...
[globalVar = GP:tx_ablinklist_pi1|uid > 0]
lib.linkTitel=COA
lib.linkTitel {
10=RECORDS
10 {
# id des template-records
source = {GPvar:tx_ablinklist_pi1|uid}
source.insertData = 1
tables = tx_ablinklist_link
conf.tx_ablinklist_link >
conf.tx_ablinklist_link = TEXT
conf.tx_ablinklist_link.field=label
}
}

Dann das Ganze auf der Seite einbauen:

page.headerData.17 >
# z.B. benutzen wir den oben gelesenen Wert,
# um damit "meta-description" zu setzen...
page.headerData.17 < lib.linkTitel
page.headerData.17.wrap = <meta name="description" content=" | " />
# Seitetitel
page.headerData.20 >
page.headerData.20 = COA
# ... oder den Seitentitel...
page.headerData.20.30 < lib.linkTitel
page.headerData.20.30.wrap = |-
page.headerData.20.40 = TEXT
page.headerData.20.40.data = levelfield : 1, subtitle // title
#page.headerData.20.40.wrap = |-
page.headerData.20.40.required = 1
page.headerData.20.wrap = <title> | </title>

Nett, oder? :-)

Popularity: 2%