wir haben einen Hauptshop in verschiedenen Sprachen und einen Subshop.
Der Hauptshop hat die Domain abc.de den Subshop schicke ich auf 123.de.
In unserem Subshop sollen aber nun bestimmte Artikel, bzw. bei uns Artikelkategorien nicht angezeigt werden.
Korrekt wird das Problem darüber gelöst, dass ein zweiter Kategoriebaum angelegt wird und die Shops dann auf entsprechende Kategorien zeigen (Grundeinstellungen).
In unserem Fall wäre das aber zu aufwändig in Bezug auf unsere Artikel- und Kategorieverwaltung.
Mein Gedanke:
Da der Subshop ja eine andere Domain hat könnte man vielleicht eine "relativ einfache - haha" if Abfrage in den Shop einbauen, die bewirkt, dass bestimmte Kategorien ausgeblendet werden sollen, wenn die Domain 123.de (Subshop) ist.
Da wir nicht nur einzelne Artikel, sondern ganze Kategorien ausblenden wollen könnte das doch gehen, oder?
Könnte mir da jemand helfen? Programmieren kann ich nicht, auch nicht wenn es tatsächlich relativ einfach sein sollte.
doch, da kann man grundsätzlich was machen, mit einem Plugin. Es ist aber ein bisschen komplizierter, weil die Kategorien ja nicht nur in den Listings ausgeblendet werden müssen sondern auch in der Suche.
Der “korrekte” Weg ist wahrscheinlich unterm Strich weniger aufwändig. Eventuell kannst Du was mit Product-Streams vereinfachen.
ich habe das bei uns in den Shops zum Ausblenden von Sonderkategorien wie folgt gelöst:
In der sidebar-categories.tpl nach dem {foreach $categories as $category} {if $category.attribute.attribute1 != 1} einfügen und unten wieder schliessen.
Nun in der Freitextverwaltung in der Tabelle Kategorien (s_categories_attributes) ein neues Attribut mit Typ „Einfacher Text“ „Im Backend anzeigen“ anlegen.
Bei mir war es das erste Attribut deshalb category.attribute.attribute1. Bei Label habe ich „Kategoriebaum sichtbar“ eingetragen und beim Support Text folgende Beschreibung rein „Bei Wert = 1 wird die Kategorie nicht in der linken Navigation eingeblendet“ .
Nun werden alle Kategorien in der Linken Navi ausgeblendet, die in diesem Feld eine 1 hinterlegt haben.
Über die Suche können die Artikel in der Kategorie natürlich noch gefunden werden, aber für unsere Anforderung ist diese Lösung ausreichend.
Leider habe ich den Tip von @supertester nicht umsetzen können. Ich denke ich habe was falsch gemacht, weiss aber nicht was. So bin ich vorgegangen:
Freitextfeld-Verwaltung ein Freitextfeld eingefügt
Tabelle: Kategorie (s_categories_attributes)
Spaltenname: category_yes_no
Spaltentyp: Einfacher Text - TEXT
Label: Sichtbar im Kategoriebaum
Hilfe Text: 1= ausblenden
Nachgesehen ob das Feld in den Freitextfeldern in den Kategorien auftaucht und bei einer Kategorie in das Feld eine 1 eingetragen.
Die Datei sidebar-categories.tpl aus der Bare Theme rauskopiert und in das eigene Theme in frontend/index/ eingefügt.
in der Datei sidebar-categories.tpl die nun im eigenen Theme ist habe ich folgendes hinzugefügt:
direkt nach {foreach $categories as $category} habe ich {if $category_yes_no != 1} eingefügt.
direkt über {/foreach} habe ich {/if} eingefügt.
Dann habe ich die Themes kompiliert und Cache geleert. Die Kategorie wird aber in Frontend weiterhin links in der Sidebar angezeigt, alle anderen Kategorien ebenfalls.
Wenn das auch in der main-navigation stattfinden soll, dann entsprechend nicht nur in sidebar-categories.tpl sondern auch in main-navigation.tpl einfügen. Auf Bezeichnung der Variable $category und bezeichnung des Attributfeldes category_yes_no achten. Bei Advanced Menü ist noch weiterer Schritt nötig.
Weitere Infos, vor allem wenn Advanced Menü dabei ist: