Zur Zeit wird gefiltert nach: typo3
Filter zurücksetzen
PhpStorm und Fluid
PhpStorm hat bei mir schon seit einigen Monaten Eclipse als PHP-IDE abgelöst und dass nich nur, weil der Hersteller Open Source Entwicklern kostenlose Lizenzen vergibt und ich eine für das
YAG Projekt erhalten habe. Entwickeln mit dem Programm macht einfach Spass was vor allem an den vielen kleinen Dingen liegt, an denen man merkt dass die Macher wirklich mitgedacht haben.
Was leider noch fehlt, ist eine Integration der Fluid Syntax, sprich code-completion für die fluid ViewHelper. So komplettierte die IDE regelmässig "<f " mit "<fieldset" was selten nie in meinem Sinne ist.
Bis sich jemand die Mühe macht ein richtiges Schema zu schreiben könnte der folgender Trick einige Schmerzen lindern.
- In PhpStorm: File -> Settings wählen.
- Zum einfacheren auffinden "custom" in der Suchfeld oben tippen.
- "Inspections" wählen und dort HTML -> "Unknown HTML tag"
- In der Fusszeile findet sich eine Zeile mit custom tags.
- Diese werden nun um die folgenden Tags erweitert.
f:alias,f:cObject,f:count,f:cycle,f:debug,f:escape,f:flashMessages,f:for,f:groupedFor,f:image,f:layout,f:render,f:section,f:translate, f:if,f:then,f:else, f:form,f:form.checkbox,f:form.errors,f:form.hidden,f:form.password,f:form.radio,f:form.select,f:form.submit,f:form.textarea,f:form.textfield,f:form.upload, f:format.crop,f:format.currency,f:format.date,f:format.html,f:format.nl2br,f:format.number,f:format.padding,f:format.printf, f:link.action,f:link.email,f:link.external,f:link.page, f:security.ifAuthenticated,f:security.ifHasRole, f:uri.action,f:uri.email,f:uri.external,f:uri.image,f:uri.pageView,f:uri.resourceTags der Fluid ViewHelper
Das wars schon, das nächste "<f " bringt eine Liste aller default ViewHelper zum Vorschein.
+1 für das T3BLOG

Ich denke es ist an der Zeit, dass sich zum Facebook Like und Flattr Button auch der googlePlus +1 Button gesellt. Nach dem ich
hier schon die Snippets veröffentlicht habe, mit dem ihr die ersten beiden Knöpfe auf eurer T3BLOG bekommt, schiebe ich nun die Snippets für den +1 Button nach.
##############################################
# gPlus plusOne
page.headerData.1235 = TEXT
page.headerData.1235.value (
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
)
lib.plusOneButton= COA
lib.plusOneButton{
10 = TEXT
10.data = TSFE:baseUrl
20 = TEXT
20.field = blogUrl
wrap = <span class="gPlusOne"><g:plusone size="medium" href="|"></g:plusone></span>
}
Einbinden des nötigen googleplus Javascripts und Definition des HTML-Schnipsels
[mehr]
TYPO3, Extbase und Ajax
Extbase und Fluid scheinen sich mehr und mehr zum Standard in der TYPO3 Extension Entwicklung zu etablieren und das ist gut so, bieten sie doch – von ein paar kleineren Bugs abgesehen – eine solide Basis zur Entwicklung von modernen TYPO3 Erweiterungen.
Sauberer MVC-getriebener PHP-Code ist aber in vielen aktuellen Extensions nur noch die halbe Miete. Die Andere besteht aus einem dynamischen Frontend im Browser, welchem mit Hilfe von Javascript desktopähnliches Feeling beigebracht wird. Ein entscheidendes Bauteil für ein dynamisches Frontend sind asynchrone Serveraufrufe. Doch das nachladen kleiner Datenfetzen fällt mit Extbase noch nicht aus der Schachtel. Daher möchte ich zwei Möglichkeiten vorstellen, wie Extbase-AJAX-Aufrufe in Frontend und Backend realisiert werden können:
Möglichkeit 1 - Eigener Seitentyp für AJAX Aufrufe
Für AJAX-Calls wird ein eigener Seitentyp in Typoscript definiert, welcher nur die Ausgabe eines bestimmten Plugins zurückgibt.
- Vorteil: Nur die schlanke Pagedefinition und das gewünschte Plugin wird ausgegeben.
- Nachteile: Für jedes Plugin mus ein eigener Pagetype definiert werden. Funktioniert nur im Frontend.
Möglichkeit 2 - Extbase Dispatcher für eId / ajax.php
Mit EId im Frontend und ajax.php im Backend bietet TYPO3 dedizierte Möglichkeiten um Prozeduren ausserhalb von Templates und Content-Elementen auszuführen. Genau das wollen wir mit einem AJAX-Call auch tun.
- Vorteile: eID / ajax.php bootstrappen nur einen Teil der TYPO3 Umgebung und sind daher leichtgewichtiger als ein Aufruf der index.php. Mit ajax.php ist das Verfahren auch im Backend möglich. Die Registrierung des Dispatchers muss für alle Extensions nur einmal erfolgen. Keine separate Typoscript Definition nötig.
- Nachteil: PHP Klasse für den Dispatcher nötig.
[mehr]
Facebook und Flattr Button für T3BLOG
Die Verwendung der T3BLOG Erweiterung für TYPO3 zum bloggen zu verwenden ist nicht gerade die einfachste Möglichkeit, seine Inhalte ins Web zu bringen. Während große Blogsoftware, wie Wordpress, leicht zu installierende Erweiterungen für jede Anforderung bietet, ist bei T3BLOG mehr Bastelarbeit nötig.
Auf der anderen Seite: es ist TYPO3! Und damit haben wir mit Typoscript schon ein mächtiges Werkzeug mit dem sich viele Anforderungen realisieren lassen. Folgend also zwei Snippets, mit dem sich ein Facebook-Like- und der
Flattr Button ohne weitere Extension in den Blog integrieren lassen.
Wie das Ganze dann aussieht, sieht man hier auf der Seite - dort lassen sich die Knöpfe natürlich auch ausprobieren :)
Der Facebook-Like Button
Für den Facebook Like Button habe ich mich von
Fabrizio inspirieren lassen und dessen Vorschlag für das T3Blog angepasst. Das Typoscript wird zunächst unter lib. erzeugt um es danach einfach auf Übersichts- und Singleansicht einbinden zu können.
lib.facebookLikeButton = COA
lib.facebookLikeButton {
10 = TEXT
10.data = TSFE:baseUrl
20 = TEXT
20.field = blogUrl
wrap = <span class="facebook"><iframe src="http://www.facebook.com/plugins/like.php?href=|&layout=standard&show_faces=true&width=450&action=like&colorscheme=dark&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe></span>
}
Facebook-Like Button mit T3BLOG URL
Das Typoscript für den Flattr-Button sieht etwas komplizierter aus. Das liegt daran, dass neben der URL auch Informationen des Beitrags wie Titel und Beschreibung und natürlich auch die eigene Flattr-ID übertragen werden müssen.
Interessant wird es in Zeile 8, dort tragt ihr die flattr ID ein, welche ihr auf der Flattr-Seite findet. In Zeile 12 wird wiederum die URL generiert. In Zeile 23 könnt ihr anstatt Text auch eine andere Flattr Kategorie eintragen (beispielsweise für ein Bild-Blog).
Unter der TS-Nummer 30 wird der Title aus dem T3Blog besorgt und im Block 40 wird die Beschreibung erzeugt, indem der Original-Inhalt des Blogeintrags von seinem HTML befreit und auf 500 Zeichen gekürzt wird.
[mehr]
YAG jetzt im TER und mit eigener Projektpage vertreten
Nach einigen weiteren Wochen harter Arbeit ist unsere TYPO3 Galerie YAG und alle nötigen Komponenten nun auch im
TYPO3 Extension Repository TER vertreten.
Michael hat dafür ein richtig dickes Manual gebastelt, das die meisten Fragen zur Anwendung und Technik klären sollte.
Zusätzlich haben wir - wie sich das gehört - eine Projekthomepage aufgesetzt. Unter
www.yag-gallery.de kann man sich die Extension und deren Möglichkeiten nochmal ganz genau ansehen.
Erstes Theme: YAG Simpleviewer
Mit
YAG-Simpleviewer gibt es auch schon das erste Theme für die Galerie, welches die Bilder mittels
Simpleviewer darstellt. Dieses Theme besteht nur aus 2 Fluid-Templates und ein wenig Typoscript und zeigt, was mit den Themes möglich ist.



