Kategorie-Archiv: TYPO3

Extbase Plugins mit TypoScript einbinden

TYPO3 Erweiterungen im bisherigen pi_base-Stil kann man ganz einfach mit

lib.foo < plugin.tx_extensionkey_pluginname

in ein beliebiges TypoScript Objekt einfügen.

Mit neueren Erweiterungen die man mit Extbase und Fluid erstellt, gestaltet sich das (noch) etwas schwieriger. Hier muss man einen Umweg über eine userFunc mit dem Extbase Bootstrapper gehen.

Bei dem Beispiel handelt es sich um eine kleine Webshop Erweiterung die ich für ein Projekt geschrieben habe. Ziel ist es, eine Warenkorb Übersicht in der Sidebar auszugeben:

lib.sidebar = COA
lib.sidebar {
 
    # [...]
 
    10 = USER
    10 { 
        userFunc = tx_extbase_core_bootstrap->run
 
        # TYPO3 6.0 / Namespaces Kompatibilität 
        vendorName = Foo
 
        pluginName = Pi2
        extensionName = ExtensionKey
        controller = Cart
        action = sidebar
        switchableControllerActions {
                Cart {
                        1 = sidebar
                }
        }
 
        settings =< plugin.tx_extensionkey.settings
        persistence =< plugin.tx_extensionkey.persistence
        view =< plugin.tx_extensionkey.view
 
    }
}

Jetzt muss nur noch im Cart Controller (wie im TS angegeben) die sidebarAction implementiert werden, in der unsere gewünschte Ausgabe generiert wird. Das erfolgt üblicherweise mit einem Fluid Template – dazu wiederum das entsprechende Template sidebar.html im Templates/Cart Verzeichnis anlegen, in der sidebarAction mit $this->view->assign() die Templatevariablen zuweisen und schließlich die fertige Ausgabe mit return $this->view->render(); zurückgeben. Das return Statement bitte nicht vergessen denn sonst passiert gar nichts 😉

Typoscript XML Sitemap

Man kann sich mit Typoscript eine wunderbare XML Sitemap basteln, ohne dazu extra eine der vielen erhältlichen Extensions verwenden zu müssen.

In diesem Beispiel wird der komplette Seitenbaum abgebildet, plus zusätzlich die Einträge einer Extensiontabelle. Wenn man z.B. eine Auflistung von Newsartikeln inkl. einer Detailansicht zum jeweiligen Artikel hat, kann man diese Detailseiten ebenfalls hier hinzufügen. (ab 20 = CONTENT…)

Weiterlesen

TYPO3 Extension: ad_rtepasteplain

Mit dieser Erweiterung wird beim Einfügen von Texten aus der Zwischenablage in den Rich Text Editor (zur Zeit noch rtehtmlarea, dieser wird wohl irgend wann gegen den CKEditor ausgetauscht werden) jegliche Formatierung entfernt, sodass Redakteure die Website nicht mit HTML Code oder Word Formatierungen verunstalten können.

Das Ganze funktioniert derzeit nur mittels Strg+V, auf die Einfügen Buttons im Editor hat diese Erweiterung keinen Einfluss. Das werde ich aber bei Gelegenheit evtl. noch einbauen.

Auszug aus dem Manual:

This extension forces htmlArea RTE to automatically paste the clipboard content as plain text.It basically adds an event handler that fires when something is going to be pasted.If the clipboard content cannot be retrieved by the script (e.g. because of the browser’s security settings or if the browser does not support direct access to the clipboard contents), a layer containing a textarea will be opened. After pasting to this textarea the text is being inserted at the current caret position.

Link: http://typo3.org/extensions/repository/view/ad_rtepasteplain/current/

Yahoo! BOSS Search Extension für Typo3

Yahoo! bietet ja schon seit geraumer Zeit die BOSS API („Build your Own Search Service“) an, hierbei handelt es sich um eine (noch) kostenlose und offene Schnittstelle zu deren Suchmaschine. (Noch) kostenlos deswegen, weil es sich Yahoo! vorbehält in Zukunft vielleicht doch Nutzungsgebühren, sog. „Fees“ zu verlangen. Näheres dazu kann hier nachgelesen werden: http://developer.yahoo.com/search/boss/fees.html.

Typo3 Entwickler die schon einige größere Web-Projekte umgesetzt haben und dabei auf die indexed_search – Suche zurückgegriffen haben, wissen vielleicht dass diese eher ungeeignet für große Webseiten ist und die Webseite sehr ausbremst.
Bei mir ging das sogar so weit, dass die Suche gar nicht mehr funktionierte weil die Datenbank mit Millionen von Eintägen bombardiert wurde. Die Abfragen der indexed_search waren dann dem entsprechend tödlich für den Server.

Abhilfe musste also her, und da kam ich auf die BOSS API.
Kurzerhand habe ich eine Typo3 Site-Search Extension programmiert die einfach als Plugin in eine Seite eingefügt wird und ein Suchformular mit einer Ergebnisliste beinhaltet.
Als zweites Plugin kann noch ein Formular-„Widget“ für die Schnellsuche z.B. in die Sidebar eingebunden werden.

Die Extension im TER: http://typo3.org/extensions/repository/view/ad_boss_search/current/