TechBlog: TemplaVoila + T3Blog
Möchte man die neue Typo-Extension T3Blog zusammen mit der Template-Engine TemplaVoila einsetzten, stößt man auf ein paar Probleme, denen dieser Beitrag gewidmet sein soll. Dabei sei aber gleich gesagt, dass ich keine Garantie übernehmen kann, dass meine Vorschläge alle Probleme lösen - füreinander gedacht sind die beiden auf keinen Fall.
Doppelte Anzeige der Beiträge
Eigentlich wäre es wünschenswert, das BlogList-Plugin von T3Blog, das sowohl die Übersicht als auch die Einzelansicht anzeigt, als normales Content Element (CE) einzufügen. Das erste Problem wird nun dadurch verursacht, dass T3Blog innerhalb der Artikel ganz normale CE's erlaubt. Damit ist man beim Schreiben eines Posts es zwar genauso flexibel wie beim Erstellen einer normalen Seite, allerdings werden diese CE's auch von TemplaVoila vor oder hinter dem Plugin angezeigt, und nicht nur innerhalb des Plugins.
Die einzige mir bekannte Lösung hierfür ist, dass man innerhalb des TemplaVoila-Templates der Blog-Seite ganz darauf verzichtet, Felder vom Typ "ContentElements" zu verwenden und stattdessen "TypoScript Object Path" verwendet. Für den Pfad kann dann beispielsweise "lib.blog" angegeben werden; schließlich schreibt man ins Template-Setup:
- lib.blog = RECORDS
- lib.blog {
- source = 12345
- tables = tt_content
- }
In Zeile 3 muss dabei die UID des Blog-CE's angegeben werden. Dieses erstellt man am besten über die Liste-Ansicht.
Nun werden die CE's nur noch von T3Blog angezeigt.
Reihenfolge der CE's ändert sich
Für das nächste Problem kenne ich keinen Workaround wie den vorigen, ich musste direkt in den Quellcode der Extension eingreifen. Allerdings sind meine Tests noch nicht so weit abgeschlossen, dass ich sicher sagen kann, dass hierdurch das Problem vom Tisch ist, vielleicht finden sich hier ja ein paar Tester.
TemplaVoila speichert die Sortierung der CE's irgendwo in XML-Dateien ab, auf das, was im sorting-Feld in der tt_content-Tabelle steht, kann man sich also nicht mehr verlassen (das ist wohl einer der größten Kritikpunkte, die man geben TemplaVoila aufbringen kann). T3Blog nutzt aber das sorting-Feld, weshalb sich die Reihenfolge beim Erstellen neuer Blogposts ändert (sie kehrt sich genau um). Es nützt dann auch nichts, das Blogpost zu editieren und die Reihenfolge zurückzuändert. Stattdessen muss man in die Liste-Ansicht wechseln und dort die CE's umsortieren. Man wird dort sofort sehen, dass die CE's in falscher Reihenfolge erstellt wurden.
Da dies natürlich auf Dauer nicht praktikabel ist, muss man TemplaVoila davon abhalten, die CE's umzusortieren. Genau das passiert in der Funktion "correctSortingAndColposFieldsForPage", die in der Datei "typo3conf/ext/templavoila/class.tx_templavoila_tcemain.php" in Zeile 419 zu finden ist.
Setzt man an den Anfang der Funktion ein "return;", wird in die Sortierung nicht mehr eingegriffen. Da diese Operationen im Normalfall jedoch, davon gehe ich aus, wichtig für die Funktion von TemplaVoila ist, muss die Änderung hier so gestaltet sein, dass sie nur gezielt auf der Blogseite aktiv wird. Dazu bietet sich die Konfiguration über TypoScript an. Wird der folgende Code an den Anfang der Funktion geschrieben (Achtung: den Funktionskopf natürlich bitte nicht mitkopieren):
- function correctSortingAndColposFieldsForPage($flexformXML, $pid) {
- require_once(PATH_t3lib . 'class.t3lib_page.php');
- require_once(PATH_t3lib . 'class.t3lib_tsparser_ext.php');
- $sysPageObj = t3lib_div::makeInstance('t3lib_pageSelect');
- $rootLine = $sysPageObj->getRootLine($pid);
- $TSObj = t3lib_div::makeInstance('t3lib_tsparser_ext');
- $TSObj->tt_track = 0;
- $TSObj->init();
- $TSObj->runThroughTemplates($rootLine);
- $TSObj->generateConfig();
- return;
...so kann über die folgende Angabe im TypoScript (z.B. auf der Root-Seite, aber auch auf der Blogseite selbst) im Template Setup das Umsortieren deaktiviert werden, wobei die Zahl der UID der Blogseite entspricht.
- config.tx_templavoila.disableReordering = 5
Hier können auch mehrere Seiten, getrennt durch Komma ohne Leerzeichen, angegeben werden, falls man mehrere Blogs einsetzt.
- Trackbacks
Casino 1250763494
Casino 1250763494...
- 7 Kommentare
- Kommentar schreiben
- Kommentar schreiben
Vielen Dank!
Hallo Johannes,
vielen Dank! Ich hatte fast schon die Befürchtung, dass die Problematik mit der vertauschten Reiehnfolge nur bei mir auftreten würde. Dem ist aber anscheinend nicht so - Gott sei Dank!
Vielleicht könntest Du den Tipp auch an Dominic Brander bei snowflake weiterleiten. Vielleicht findet man dort eine Lösung auf der t3blog-Extension-Seite.
Good Job! :-)
CU,
Jari
Re: Vielen Dank!
Hi Jari,
danke fuer deine Antwort. Ich werde es an Snowflake weiterleiten, gute Idee. Schoen, dass die Loesung auch bei dir funktioniert!
Viele Gruesse,
Johannes
Super schnelle Lösung
Hallo Johannes,
Vielen Dank für Deinen Beitrag. Per google bin ich auf Deinen Blog gestossen und hab nun die Lösung für mein Problem gefunden (doppelte Content Elemente mit TemplaVoila).
Grüße aus Karlsruhe
Michael
Lösung gecheckt und modifiziert
Hi Johannes,
auch von mir vielen Dank für die Lösung. Ich habe den Abluaf meiner letzten t3blog-Installation mal als Erinnerung gebloggt mit allen Fallstricken (sind ja echt ne Menge):
http://www.angus-im.de/blog/blog-post/2009/09/09/der-eigene-blog-mit-typo3-mit-t3blog-wird-alles-besser.html
Deine Lösung habe ich auch ein wenig abgewandelt.
Würde mich über weitere Hinweise über Probleme oder Verbesserungswünsche freuen, so dass ich den Post erweitern kann.
Gruß,
Fabian
Bug noch relevant?
Hallo Johannes,
mich würde wirklich brennend interessieren ob du diesen Bug derzeit noch bestätigen kannst. Meiner Meinung nach ist er immer noch ein Problem.
Zumindest meine TYPO3 Installation mit dem aktuellen T3Blog und TYPO3 macht immer noch Ärger.
Ich hatte da schon mal kurz Kontakt zu Dimitry Dulepov der konnte das damals nicht bestätigen und meinte falls ich mir sicher bin soll ich einen neuen Bug aufmachen. Allerdings bin ich mir um meiner Einbindungsmethodik unter TemplaVoila nicht völlig sicher. Es gibt ja ein paar Varianten und ich vermute fast das es relevant ist wie T3Blog eingebunden wird.
Um ein Feedback wäre ich sehr dankbar.
Grüße
Felix
RE: Bug noch relevant?
Hi,
ich habe meine Versionen von T3Blog und Typo3 seitdem nicht mehr aktualisiert, deshalb kann ich nicht sagen, ob auch mit einer neuen Version das Problem noch besteht.
Was genau funktioniert denn bei deiner Installation nicht? Tritt genau das beschriebene Problem mit der falschen Reihenfolge auf?
Viele Grüße,
Johannes
Herr
Hey Johannes,
ja genau das Problem der Sortierung. Ich teste das schon länger da es immer wieder hieß das wäre geklärt.
Du solltest aber mal ein Update erwägen. Es ist viel passiert. Zum Beispiel kann man sich von deinem Blog nicht mehr abmelden, da der Link in der Mail ins Leere läuft.
Naja, aber dann werde ich wohl mal einen Bugreport erstellen. Hilft ja nichts, hatte eben gehofft das ich da etwas Rückendeckung kriegen würde ;-)
Trotzdem Danke, dein Post war / ist die Rettung.