TYPO3 Tag Cloud

Ich habe nach einer Möglichkeit gesucht eine TagCloud auf dieser Seite einzubinden, bei der die Bedingung war, bei Anzeige eines Artikels aus tt_news und bei der Ausgabe einer "normalen" Seite aus dem Seitenbaum, zwei verschiedene TagClouds anzeigen zu lassen.

Mein Lösungsansatz war folgender. Als erstes eine neue Seite im Typo3 Seitenbaum anlegen und einen passenden Namen z.B. "Meine TagClouds" vergeben. Und Option "nicht im Menu sichtbar" anhaken.

Dann dort zwei Inhaltselemente mit dem Plugin "vge_tagcloud" erstellen.

Beim Ersten Contentelement dann z.B. den Namen "Keywords aus tt_news" vergeben, den auf "versteckt" setzen und als Referenztabelle "Newseinträge" wählen. Dann erscheint eine Auswahl möglicher Tabellenspalten aus der tt_news Tabelle. Dort die "Keywords" anwählen. Alle weiteren Optionen der eigenen Installation anpassen.

Das selbe Spiel beim zweiten Contentelement. Dort dann aber als Referenztabelle die "Inhaltstabelle" wählen. Wieder "Keywords" usw.

Am Ende des Prozedere gibt es nun zwei neue Inhaltselemente und die entsprechenden ID's dazu.

Beispielsweise:
1. CE ID = 10 (für Tabelle tt_news)
2. CE ID = 11 (für Tabelle tt_content)

Diese ID's werden für folgenden Typoscript Code gebraucht.

# CONTENT TAGCLOUD
# Hier erfolgt die normale Ausgabe der Keywords aus der tt_content Tabelle
lib.tagcloud = COA
lib.tagcloud {
    10 = RECORDS
    10.tables = tt_content
    # 2. CE ID = 11 (für Tabelle tt_content)
    10.source = 11
}

# TT_NEWS TAGCLOUD
# Sobald ein Newsartikel aufgerufen wird, werden nun auch
# die Keywords aus der tt_news Tabelle abgebildet
[globalVar = GP:tx_ttnews|tt_news>0]
lib.tagcloud = COA
lib.tagcloud {
    10 = RECORDS
    10.tables = tt_content
    # 1. CE ID = 10 (für Tabelle tt_news)
    10.source = 10
}
[global]

Dazu noch die Config der "vge_tagcloud" etwas anpassen (näheres im Handbuch dazu), falls der Aufruf der Keywords mittels der Erweiterung "Indexed_Search" ausgegeben wird. Und fertig ist die "Tricky tagCloud".

plugin.tx_vgetagcloud_pi1 >
plugin.tx_vgetagcloud_pi1 {
  _CSS_DEFAULT_STYLE >
  exclude.tt_content.CType = mailform
  exclude.tt_content.list_type = vge_tagcloud_pi2
  exclude.tt_content.menu_type =
  exclude.pages.doktype = 98,100,199,254,255
  minWeight = 90
  maxWeight = 200
  maxWords = 37
  splitChar = ,
  tagWrap {
    typolink {
      additionalParams >
      additionalParams.field = tag_keyword
      additionalParams.rawUrlEncode = 1
      additionalParams.wrap = &tx_indexedsearch[sword]=|
      useCashHache = 1
    }
  }
}

Das ganze Spiel könnte man dann natürlich noch weiter treiben, so das nur noch Keywords einzelner Seiten aus den Tabellen "pages", "tt_content", "tt_news" oder sonst wo her angezeigt werden. Aber das sei jedem überlassen.