Posts Tagged ‘ TYPO3

Drag and Drop im Seitenbaum

Heute bin ich durch Zufall auf ein in der Dokumentation von TYPO3 nirgends erwähntes Feature gestoßen: Drag and Drop von Elementen des Seitenbaumes im Backend.

Ein schlichtes Anpacken und über dem Zielort ablegen lässt ein kleines Menü erscheinen, welches die Möglichkeit bietet, die verschobene Seite in bzw. nach dem Zielort abzulegen oder nach Wunsch stattdessen dorthin zu kopieren.

Einziges Manko: man sieht keinen wirklichen Indikator, wohin die Seite verschoben würde. Abgesehen davon aber äußerst nützlich, da man sich so den Umweg über das List-Module spart.

News LIST- und SINGLE-Ansicht auf einer Seite

In der Dokumentation zu tt_news wird ein Weg beschrieben, um die LIST- und SINGLE-Ansicht für News-Einträge in einer einzigen Plugininstanz nutzen zu können.

Unglücklicherweise ist dieses Vorgehen auf das althergebrachte Templating-System zugeschnitten und damit z. B. für TemplaVoilà nicht anwendbar.

Es gibt jedoch eine weitere Möglichkeit, die praktisch mit jedem Templating-System funktionieren sollte und nur wenige Zeilen TypoScript im Template der jeweiligen Seite erfordert:

plugin.tt_news {
 
// Unset reference to Flexform field
code >
// Set default view, e. g. LIST
code = LIST
}
 
[globalVar= GP:tx_ttnews|tt_news>0]
// Change code to SINGLE if there's a news record to display
plugin.tt_news.code = SINGLE
[global]

Damit dies jedoch funktioniert, darf in der Konfiguration für das News-Plugin nichts bei den Anzeigetypen (SINGLE, LIST, LATEST, …) ausgewählt werden. Andernfalls wird jegliche Einstellung im TypoScript ignoriert. Die Meldung, dass das Plugin hierdurch nicht konfiguriert ist, kann man getrost ignorieren.

Hinweis für die Version 3.0.0 der News-Erweiterung: das Formular für die Pluginkonfiguration wurde hier drastisch umgestaltet, wodurch es nunmehr unmöglich ist, keinen Wert für den Anzeigetyp festzulegen. Eine mögliche Lösung hierfür ist eine Modifikation des Flexforms der News-Erweiterung, was ich in diesem Zuge auch im Bugtracker von TYPO3 vorgeschlagen habe.

Das Resultat des ganzen Vorhabens sind kürzere Adressen durch die Einspaarung einer Seite.

Filemounts für normale Backendnutzer

Ziemlich häufig hat man als Administrator die Aufgabe, bestimmten Nutzern das Editieren von Inhalten im Backend von Typo3 zu erlauben. Diese Nutzer als Administratoren zu kennzeichnen ist die schnellste und einfachste, aber auch die riskanteste Möglichkeit. Denn dann haben diese natürlich freie Hand. Besser ist die Nutzung der Access Control Lists, was aber nicht Thema dieses Eintrags ist.

Vielmehr sollte ein kleiner aber feiner Fakt erwähnt werden, der mich heute schon wieder verdutzt dreinblicken hat lassen: man kann beliebig viele Filemounts für Backendnutzer und Backendnutzergruppen anlegen, aber vom Start weg funktioniert kein einziger davon. Im Rich Text Editor herrscht in Bezug auf Dateien beim Einfügen von Links oder Bildern gähnende Leere.

Die Lösung: das TEMP-Verzeichnis (standardmäßig fileadmin/_temp_) muss ebenfalls als Filemount zur Verfügung gestellt werden. Andernfalls sind alle anderen Filemounts unwirksam. Auf dieses Problem bin ich früher beits einmal gestoßen und konnte es nur nach langem Trial-und-Error lösen. Heute ist mir dies wieder passiert, jedoch konnte ich glücklicherweise bei einem alten Projekt nachschauen.

Antworten auf Kommentare

Es gibt eine Eigenschaft, die mir beim Commenting system im Vergleich zu meinem alten handgeschriebenen Gästebuch gefehlt hat: Antworten auf Kommentare. Hiermit meine ich, dass mir die Möglichkeit geboten wird, zu Kommentaren Anmerkungen oder dergleichen hinzuzufügen.

Aus diesem Grund habe ich mich entschlossen, eine Erweiterung hierfür zu erstellen. Mit Hilfe des Extension Kickstarters lassen sich recht komfortabel und schnell die Grundlagen schaffen. Für die Programmierung habe ich mich dann am Code der Erweiterung Comments: individual closing, dem Code des Commenting system selbst sowie natürlich an der Dokumentation letzterer Erweiterung orientiert. Mit ein wenig Trial und Error sowie Blicken in die API-Dokumentation Typo3s bin ich auch schnell voran gekommen.

Dadurch habe ich wieder einiges mehr über die Internas Typo3s wie z. B. das Templating-System erfahren. Der Weg ist also wie üblich das Ziel.

Und da diese Erweiterung im Gegensatz zu meinen ersten Gehversuchen einen in meinen Augen angemessenen Umfang hat, habe ich sie auch zum TER hochgeladen, von wo aus sie nun auch verfügbar ist.

Ich wünsche viel Vergnügen damit und nehme Verbesserungsvorschläge und Fehlerberichte natürlich gerne entgegen.

Weitreichender Umbau

Nach langer Zeit der Stille habe ich mich im Zuge meiner kürzlich erworbenen Fähigkeiten im Umgang mit dem CMS TYPO3 entschlossen, meine relativ verstummte Site wieder einmal auf den neuesten Stand zu bringen.

Im Zuge des Umbaus habe ich nun endlich umgesetzt, was sich früher in Form der Sektion „Artikel“ schon angedeutet hat: einen Blog. Darin werde ich von nun an mehr oder weniger große Gedanken festhalten und biete die Möglichkeit, diese zu kommentieren. Ansonsten habe ich die Sektionen deutlich abgespeckt und mich auf die vier beschränkt, die nun verblieben sind. Für alle anderen habe ich keinen Einsatzzweck mehr gesehen.

Die inneren Werte zählen

Unter der Haube hat sich praktisch alles geändert. Während früher handgeschriebener (und zugegeben stetig unübersichtlicher werdender) PHP-Code die Maschinerie am Laufen hielt, kommt nun das bereits erwähnte TYPO3 zum Einsatz. Damit kann ich nun relativ mühelos und in einer viel höheren Abstraktionsebene die Site verwalten und erweitern. Bei den unzähligen Erweiterungen, die für TYPO3 im Extension Repository zu finden sind, findet sich fast immer eine Lösung für die gewünschte Funktionalität.

Als Templating-System kommt TemplaVoilà zum Einsatz, was das Haupttemplate der Site recht übersichtlich hält, da hierdurch viel TypoScript eingespart oder ausgelagert werden kann. Für das Blogsystem kommt fürs erste News in Kombination mit dem Commenting System zum Einsatz. Der seit kurzer Zeit verfügbare T3Blog habe ich nicht wirklich zum Laufen bringen können; zudem missfällt mir hier, dass ich mir das gesamte Subsystem rund um DAM aufhalsen muss.

In den sauren Apfel habe ich nun mittlerweile beißen müssen, da ich nur mit DAM zufrieden stellend Metadaten speichern kann. Die Galerie läuft nun also DAM-basiert, die momentan genutzte DAM Liteshow ist jedoch noch nicht optimal und musste von mir – mangels Templating-Unterstützung im PHP-Code – noch stark angepasst werden.

Für menschenlesbare URIs sorgt CoolURI, was mit der XML-basierten Konfigurationsdatei recht angenehm zu handhaben ist. Damit und mit Hilfe von SQL lassen sich sehr gute Transformationen von URIs durchführen.

Kleider machen Leute

Da ein Umbau nur unter der Haube doch relativ langweilig ist, habe ich mich auch daran gemacht, ein neues Thema zu entwerfen. Dieses Mal habe ich noch mehr Wert auf Leichtgewichtigkeit gelegt, womit der Umfang der zu 羽, dem neuen Standardthema, gehörenden Stylesheet-Dateien deutlich geringer ausgefallen ist. Auch habe ich versucht, endlich einmal die Styles modular aufzubauen und entsprechend auszulagern. Das grundsätzliche Farbschema ist relativ gleich geblieben und wurde entsprechend adaptiert oder modifiziert. Zur optischen Verstärkung informativer Hinweise nutze ich das durch den Modern Skin lieb gewonnene Silk-Iconthema.

Auch das Favicon habe ich geändert. Während hier früher das „o“ des alten stylisierten Logo-Schriftzuges zu sehen war, findet sich hier nun ein schlichtes の. Hierbei handelt es sich – wie könnte es anders sein – um ein japanisches Schriftzeichen; konkret um ein Bindewort. Einfaches Beispiel hierzu: „Marks Brille“  heißt auf japanisch 「マークのめがね」. Warum gerade dieses Zeichen? Nun, es symbolisiert die ersten beiden Buchstaben des Seitentitels und ist zufällig das allererste japanische Zeichen, was ich lesen und schreiben konnte.

Ich hoffe durch die Summe dieser Änderungen meine Site viel einfacher verwalten zu können und nehme mir vor, öfter mal ein oder zwei Worte fallen zu lassen. Ich freue mich natürlich wie immer über Kommentare aller Art (gerne fleischarm).