Erzeugung der ExtBase Dokumentation mit FOP
Für alle, die sich genau so sehnlich wie ich eine Dokumentation zu ExtBase wünschen, habe ich versucht, mit Hife von FOP (FormattingObjectsProcessor) die vorhandene DocBook Dokumentation zu rendern. Leider totaler Fehlschlag. Das XML validiert nicht und die Konvertierung fällt auf die Schnauze.
Netterweise hat mir Lars das Ganze unter Ubuntu gerendert (da scheint es kein Problem zu ein - manchmal könnte man echt auf Mac OS kacken...) - dabei kam das folgende PDF Dokument raus.
Hier also das Missing Manual zu ExtBase. Ich hoffe, dass die ExtBase Entwickler möglichst bald die Doku nachschieben und nicht nur das XML Dokument ausliefern, mit dem leider niemand was anfangen kann :-)
Extbase Dokumentation / Manual zum Download |
Sortierungsfehler von Seiteninhalten in T3Blog
Wird T3Blog in Verbindung mit TemplaVoila eingesetzt, kann es vorkommen, dass mehrere Seiteninhalte in einem Blog Beitrag nach dem Speichern eines anderen Beitrags völlig willkürlich umsortiert werden. Hier ist beschrieben, wie man diese Problem abstellt.
ExtBase Kochbuch 1
Teil 1: Wir lesen mit einem Repository Datensätze aus, die in einem bestimmten Sysfolder liegen. Dazu fügen wir folgende Methode in unser Repository ein (im Klartext: wir möchten alle Datensätze eines bestimmten Typs mit einer gegebenen Page-ID):
/** * Returns array of galleries for a given page id * * @param int $pageId * @return array Array of galleries for given page id */ public function findByPageId($pageId) { $query = $this->createQuery(); return $query->matching($query->equals('pid', $pageId)) Tx_Extbase_Persistence_QueryInterface::ORDER_DESCENDING)) ->execute(); }
Wichtig ist in dem Zusammenhang zu verstehen, was ExtBase mit der PID macht, in der die Datensätze liegen. Normalerweise greifen sowohl die findByUid() und findAll() Methoden des Repositories nur für die unter der Variable
plugin.tx_<extensionname> {
persistence {
storagePid = 6
}
}
konfigurierten PID. Das passiert aus dem Grund, dass das Repository ja nicht nur beim Lesen der Objekte, sondern auch beim Neuanlegen und Speichern wissen muss, wohin gespeichert wird.
Dieser Wert kann einmal über Typoscript mit oben genannter Benennung überschrieben werden, zum anderen aber auch über Flexform gesetzt werden, indem der selbe Schlüssel verwendet wird, wie im Typoscript!


