Hallo Jan Danke für dieses kurze, aber tolle Tutorial! Sehr hilfreich. Sowas sollte meiner Meining nach ins Extbase Wiki...
Gruss Oli Am 15.10.2013 23:25 schrieb "Jan Kornblum" <jan.kornb...@gmx.de>: > Hallo Gruppe, > > also die Konfiguration für die Grundfunktionalität ist ja wirklich recht > einfach. Hier das Vorgehen mithilfe des Extension Builder: > > 1. Zu kategorisierendes Model erzeugen > 2. Eine 1:n Relation "categories" hinzufügen mit "Relation to external > class" = \TYPO3\CMS\Extbase\Domain\**Model\Category > 3. In der ext_tables.php via \TYPO3\CMS\Core\Utility\** > ExtensionManagementUtility::**makeCategorizable() das "categories" Feld > des Models als "kategorisierbar" konfigurieren (Im Prinzip muss das Feld > "categories" vorher gar nicht angelegt werden (TCA, ext_tables.sql), denn > wenn nicht vorhanden, erledigt die Methode makeCategorizable() das alles > selbst) > 4. Das TCA des Models anpassen und dort die vom Extension Builder > erstellte "categories" Konfiguration löschen (da der Extension Builder 1:n > als IRRE konfiguriert und damit die von makeCategorizable() erzeugte > Ausgabe in den FE Forms überschieben wird). > 5. Und schon kann aus dem Model-Objekt auf die zugewiesenen > Category-Objekte zugreifen > > Ohne Extension Builder muss man im Prinzip nur darauf achten, dass das > Model die zu kategorisierende Property "categories" besitzt (optional in > ext_tables.sql als int(11)...), das Feld in der ext_tables.php > "kategorisierbar" gemacht wird (makeCategorizable(), s.o.) und die Getter > und Setter richtig definiert werden: > > /** > * Kategorien > * > * @var \TYPO3\CMS\Extbase\**Persistence\ObjectStorage<\** > TYPO3\CMS\Extbase\Domain\**Model\Category> > */ > protected $categories; > > /** > * Adds a Category > * > * @param \TYPO3\CMS\Extbase\Domain\**Model\Category $category > * @return void > */ > public function addCategory(\TYPO3\CMS\**Extbase\Domain\Model\Category > $category) { > $this->categories->attach($**category); > } > > /** > * Removes a Category > * > * @param \TYPO3\CMS\Extbase\Domain\**Model\Category $categoryToRemove The > Category to be removed > * @return void > */ > public function removeCategory(\TYPO3\CMS\**Extbase\Domain\Model\Category > $categoryToRemove) { > $this->categories->detach($**categoryToRemove); > } > > /** > * Returns the categories > * > * @return \TYPO3\CMS\Extbase\**Persistence\ObjectStorage<\** > TYPO3\CMS\Extbase\Domain\**Model\Category> $categories > */ > public function getCategories() { > return $this->categories; > } > > /** > * Sets the categories > * > * @param \TYPO3\CMS\Extbase\**Persistence\ObjectStorage<\** > TYPO3\CMS\Extbase\Domain\**Model\Category> $categories > * @return void > */ > public function setCategories(\TYPO3\CMS\**Extbase\Persistence\**ObjectStorage > $categories) { > $this->categories = $categories; > } > > Vielleicht hilft obiges ja dem ein oder anderen... Falls logische Fehler > freue ich mich über Feedback. Vielleicht kann man ja die Wiki-Seite > ergänzen? > > Schön, dass die sys_categories Einzug in den TYPO3 Core erhalten haben! > Stehe zwar selbst noch am Anfang damit, aber man darf ja auch mal "Danke > sagen" ;) > > Grüße, Jan > > > ______________________________**_________________ > TYPO3-german mailing list > TYPO3-german@lists.typo3.org > http://lists.typo3.org/cgi-**bin/mailman/listinfo/typo3-**german<http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german> > _______________________________________________ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german