TYPO3: Facebook Like Button per TypoScript

8. November 2010 in TYPO3 von Leo

Mittlerweile findet man den Facebook “Like”-Button ja überall. Dazu gibt es auch passende Extensions im TYPO3 Ext Repository, mit welchen man den Like Button sehr einfach einbauen kann. Jedoch waren diese Extensions nur sehr schwer anpassbar (HTML musste im PHP Code angepasst werden) und man muss sie als Plugin manuell auf jeder Seite platzieren – mühsam!
Deshalb fragte ich mich ob es auch eine bessere Variante gibt – sicher, per TypoScript!
Kurz in Google nach einer Variante gesucht und dabei gleich auf folgendes gestossen, klick. Alles in allem kein schlechtes TypoScript Snippet, jedoch nicht geeignet für mich geeignet, was ich nach einer weile feststellen musste, da ich tt_news im Einsatz habe. Wird nun in der SINGLE-Ansicht ein solcher Button platziert, wird jeweils nur die Seite “geliked”, nicht die News mit der ID. Dies durfte so natürlich nicht sein, da der User so immer auf eine falsche Seite mit einer Warnung kommen würde.

Also habe ich den Code etwas angepasst:

lib.facebook = COA
lib.facebook {
	10 = TEXT
	10.typolink.parameter.data = getIndpEnv:REQUEST_URI
	10.typolink.returnLast = url
	10.dataWrap = http://meinedomain.ch|
	10.rawUrlEncode = 1

	wrap = <iframe src="http://www.facebook.com/plugins/like.php?href=|&layout=button_count&show_faces=true&width=450&action=like&colorscheme=light&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:21px;" allowTransparency="true"></iframe>
}

Es muss noch die baseURL oben angepasst werden. Eigentlich wäre es auch möglich direkt die baseURL zu holen, jedoch habe ich dies im obigen Code nicht gemacht da meine baseURL mit einem Slash (“/”) endet, was schlussendlich einen Doppel-Slash verursachen würde.
Wer die baseURL verwenden möchte ersetzt die Zeile mit folgendem:

10.dataWrap = {TSFE:baseUrl}|

Viel Spass!

Indexed Search installation und konfiguration

5. November 2010 in TYPO3 von Leo

Viele haben anscheinend Probleme mit Indexed Search, der TYPO3 Sucherweiterung. Hier nun ein einfach erklärtes Tutorial für die Installation und Konfiguration von Indexed Search, Schritt für Schritt.
1. Installieren der Extension über den Extension-Manager (da es sich hier um eine System Extension handelt ist sie bereits vorhanden).
2. Kopieren des Templates aus dem Verzeichnis “typo3/sysext/indexed_search/pi/indexed_search.tmpl” nach “fileadmin/templates/ext/indexed_search.tmpl” (Pfad kann aber auch frei gewählt werden, jedoch sollte das Template nicht im typo3/ Verzeichnis sein da es ansonsten bei einem Update überschrieben wird!).
3. Nun auf der obersten Seite ins TypoScript Setup folgenden Code einfügen:

#################################
# Indexed Search aktivieren
#################################
config.index_enable = 1

Dieser Code aktiviert Indexed Search und würde gleich mit dem caching beginnen. Wir benötigen jedoch noch zwei Marker in unserem Template (eigentlich freiwillig, aber empfohlen), welche den zu cachenden Bereich begrenzen, also den Bereich den die Suche dann auch durchsucht und in den Suchergebnissen widerspiegelt.
4. Also fügen wir folgende zwei Marker ein, welche unseren Inhalt umschliessen:

<!--TYPO3SEARCH_begin-->
...
<!--TYPO3SEARCH_end-->

5. Nun sollten die Seiten beim ersten Aufruf für indexed search gecacht werden. Dies kann man im Modul “Info” im Backend überprüfen. Beim Dropdown oben “Indexed Search” auswählen und links im Seitenbaum auf die oberste Seite klicken. Ist nach einem Seitenaufruf über das Frontend nun die Seite gecacht worden sieht man nun eingen kurzen Ausschnitt des gecachten Inhalts.
6. Nun wird im TS Template noch folgender Code im Setup benötigt, welcher noch etwas abgeändert werden muss:

config.language = de
config.locale_all = de_DE
config.sys_language_uid = 0

config.index_externals = 1
# Anzahl der anzuzeigenden Resultate pro Seite
plugin.tx_indexedsearch._DEFAULT_PI_VARS.results = 10
plugin.tx_indexedsearch {
  # ID der obersten Seite
  search.rootPidList = 2
  show.rules = 0
  show.advancedSearchLink = 0
  show.L1sections = 0
  templateFile = fileadmin/templates/ext/indexed_search.tmpl
  _DEFAULT_PI_VARS.lang = 0
  browseBoxWrap = <div class="browsebox">|</div>
  pageWrap = <span>|</span>
}

So weit so gut, Indexed Search wurde nun eingerichtet und läuft hoffentlich!

Pagebrowser (umblättern) funktioniert nicht:

Falls der Pagebrowser (also das Umblättern von Seiten bei Suchergebnissen) nicht funktioniert, rate ich jedem mal die Extension “accessible_is_browse_results” anzusehen, welche das ganze sehr wahrscheinlich wieder funktionstüchtig machen wird. Man kann das ganze jedoch auch ohne zusätzliche Extension gerade biegen, der Fehler wird durch das Umblättern per JavaScript ausgelöst, aber mehr dazu vielleicht mal später.