So fügen Sie in Shopware 6.5 eine „Nicht in Kategorien“-Bedingung zur Produktliste hinzu

In Shopware 6.5 ist die effiziente Verwaltung von Produktlisten entscheidend für ein reibungsloses Einkaufserlebnis. Es kann jedoch vorkommen, dass Sie bestimmte Kategorien aus Ihren Produktlisten ausschließen möchten. Dieser Leitfaden führt Sie durch den Prozess des Hinzufügens einer „Nicht in Kategorien“-Bedingung zu Ihren Produktlisten.

Ausgabe

Sie haben eine konkrete Anforderung, Produkte bestimmter Kategorien aus Ihren Produktlisten in Shopware 6.5 auszuschließen.

Lösung

Um dies zu erreichen, können Sie Filter verwenden, um Produkte aus bestimmten Kategorien auszuschließen. Sehen Sie sich die Schritt-für-Schritt-Anleitung zum Hinzufügen der Bedingung „ Nicht in Kategorien “ an:

  • Definieren Sie auszuschließende Kategorie-IDs:

   Identifizieren Sie zunächst die Kategorie-IDs, die Sie aus Ihren Produkteinträgen ausschließen möchten.

2. Erstellen Sie einen Filter für jede Kategorie:

  Verwenden Sie die identifizierten Kategorie-IDs, um Filter für jede Kategorie zu erstellen. Dies kann durch die Zuordnung der Kategorie-IDs zu „EqualsFilter“-Instanzen erreicht werden.

php

$categoryIdFilters = array_map(static function ($categoryId) {

return new EqualsFilter('product.categoryTree', $categoryId);

}, $categoryIds);

3. Nicht-Filter hinzufügen:

Kombinieren Sie die Kategoriefilter mit einem „NotFilter“. Dadurch wird eine Bedingung erstellt, um Produkte aus den angegebenen Kategorien auszuschließen.

php

$categoryIdFilters = array_map(static function ($categoryId) {

return new EqualsFilter('product.categoryTree', $categoryId);

}, $categoryIds);

4. Wenden Sie Kriterien auf die Produktliste an:

Wenden Sie abschließend die Kriterien mit dem Filter „Nicht“ auf Ihre Produktliste an.

Beispielimplementierung:

Hier ist eine Beispielimplementierung, die zeigt, wie Sie die Bedingung „Nicht in Kategorien“ zu Ihrer Produktliste hinzufügen:

```php

// Define category IDs to exclude

$categoryIdsToExclude = [1, 2, 3];



// Create filter for each category

$categoryIdFilters = array_map(static function ($categoryId) {

return new EqualsFilter('product.categoryTree', $categoryId);

}, $categoryIdsToExclude);



// Add Not Filter

$criteria->addFilter(

new NotFilter(

NotFilter::CONNECTION_AND,

$categoryIdFilters

)

);

// Kriterien auf die Produktliste anwenden

$productListing->applyCriteria($criteria);

„`

Ersetzen Sie „[1, 2, 3]“ durch die tatsächlichen Kategorie-IDs, die Sie ausschließen möchten.

Abschluss

Indem Sie die in dieser Anleitung beschriebenen Schritte befolgen , können Sie Ihren Produktlisten in Shopware 6.5 ganz einfach eine „ Nicht in Kategorien “-Bedingung hinzufügen. Mit dieser Lösung können Sie Ihre Produktlisten effektiv verwalten und Ihren Kunden ein maßgeschneidertes Einkaufserlebnis bieten.

Stellen Sie sicher, dass Sie einen Schritt einschließen, in dem Sie sich an erfahrene Shopware-Entwickler wenden können, um über die im Leitfaden beschriebenen Schritte hinaus weitere Anleitungen oder Unterstützung zu erhalten.

Comments are closed.