# Sw-category-tree-field nutzen

**URL:** <https://forum.shopware.com/t/sw-category-tree-field-nutzen/90730>\
**Category:** Programmierung\
**Created:** [6. Oktober 2021 um 11:55 UTC](https://forum.shopware.com/t/sw-category-tree-field-nutzen/90730 "2021-10-06T11:55:12Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![\_neonlines](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/_neonlines/32/21175_2.png) [@\_neonlines](https://forum.shopware.com/u/_neonlines)\
**Post date:** [6. Oktober 2021 um 11:55 UTC](https://forum.shopware.com/t/sw-category-tree-field-nutzen/90730/1 "2021-10-06T11:55:12Z")

</div>

Hallo, wir haben diese Komponente gefunden [Homepage - Shopware Component library](https://component-library.shopware.com/components/sw-category-tree-field) und möchten diese einsetzen. Leider gibt es keinerlei Dokumentation zu dieser Komponente. Sie wird uns zwar angezeigt, es werden aber keine Kategorien angezeigt, obwohl welche über die API gefunden werden. Hat jemand einen Hinweis, wie man diese Komponente initialisieren muss?

```auto
            <sw-category-tree-field placeholder="Kategorien"
                                    :categoriesCollection="categories ? categories : []"
            </sw-category-tree-field>

```

categories sind die gewählten Kategorien. Leider kommt immer die Anzeige „Keine Kategorien gefunden“.

Danke.

---

<div class="post-metadata">

**Author:** ![\_neonlines](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/_neonlines/32/21175_2.png) [@\_neonlines](https://forum.shopware.com/u/_neonlines)\
**Post date:** [6. Oktober 2021 um 12:45 UTC](https://forum.shopware.com/t/sw-category-tree-field-nutzen/90730/2 "2021-10-06T12:45:09Z")

</div>

Ok, durch reverse engineering haben wir es gelöst - categories muss eine EntityCollection sein, diese wird über die Repo-Factory angelegt:

In unserem Fall:

```auto
let categoryRepo = this.repositoryFactory.create('category');
        this.categories = new EntityCollection(
            categoryRepo.route,
            categoryRepo.entityName,
            Shopware.Context.api,
            null,
            this.categories
        );

```

---

<div class="post-metadata">

**Author:** ![SteveKraemer-Mindfav](https://avatars.discourse-cdn.com/v4/letter/s/97f17d/32.png) [@SteveKraemer-Mindfav](https://forum.shopware.com/u/SteveKraemer-Mindfav)\
**Post date:** [28. März 2025 um 11:11 UTC](https://forum.shopware.com/t/sw-category-tree-field-nutzen/90730/3 "2025-03-28T11:11:56Z")

</div>

Da ich das nicht zum ersten mal suche, hier ein Ansatz für Shopware 6.5 aufwärts:

```auto
<sw-category-tree-field
    :categories-collection="emptyCategoryCollection"
    :criteria="categoryCriteria"
    :disabled="!shopwareProductSettings.updateProductCategories"
    placeholder=""
></sw-category-tree-field>

```

In der index.js löse ich das dann so:

```auto
computed: {
        categoryRepository() {
            return this.repositoryFactory.create('category');
        },

        categoryCriteria() {
            const criteria = new Criteria(1, 500);
            return criteria;
        },

        // Die leere EntityCollection muss erstellt werden, damit im Kategorie-Auswahl-Tree überhaupt
        // eine Kategorie ausgewählt werden kann.
        // Es ist wirklich nicht schön gelöst von Shopware -
        // denn eigentlich soll man da wohl auch ein Array übergeben können.
        // Aber wenn man da ein leeres Array übergibt, ist der Kategorie-Baum im Auswahl-Feld dann einfach leer.
        // So hier gehts jedenfalls.
        emptyCategoryCollection() {
            return new Shopware.Data.EntityCollection('collection', 'collection', {}, null, []);
        }
    },

```

So funktioniert es zumindest soweit, dass die Kategorien nicht vorausgewählt sind.  
Ich werde das sicher in Kürze hier nochmal aktualisieren - da jetzt die Ausgabe leer bleibt, wenn man etwas auswählt.

Falls nicht - es kommt in einem kostenfreien Plugin von mir hier zum Einsatz:

> <https://github.com/sfxon/MyfavCraftImport/blob/main/src/Resources/app/administration/src/module/craft-import/page/myfav-craft-import-article/article.html.twig>
