[TYPO3-german] sys_category

Oliver Beck oli5188 at gmail.com
Wed Oct 16 07:20:06 CEST 2013


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.kornblum at 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 at lists.typo3.org
> http://lists.typo3.org/cgi-**bin/mailman/listinfo/typo3-**german<http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german>
>


More information about the TYPO3-german mailing list