Artikeleingeschaften pro Artikel ausblenden

Hallo zusammen, es gibt zwar die Möglichkeit über das Template die Artikeleingeschfaten global auszublenden, aber nicht die Möglichkeit, dass ich die Eigenschaften für jeden Artikel einzeln ein- bzw. ausblenden kann. Wie kann ich sowas am einfachsten hinbekommen? Irgend ein Ansatz über CSS vielleicht?

@bdk-007 schrieb:

Hallo zusammen, es gibt zwar die Möglichkeit über das Template die Artikeleingeschfaten global auszublenden, aber nicht die Möglichkeit, dass ich die Eigenschaften für jeden Artikel einzeln ein- bzw. ausblenden kann. Wie kann ich sowas am einfachsten hinbekommen? Irgend ein Ansatz über CSS vielleicht?

Hallo,

der einfachste Weg wäre, ein Artikel-Freitextfeld (Typ: Boolean) anzulegen und dann einfach in der entsprechenden Template-Datei auf == true oder nicht zu prüfen und anschließend die Eigenschaften anzuzeigen oder nicht.

Beste Grüße

Sebastian

Genial, das versuche ich mal. Könntest du mir das bitte etwas detaillierter erklären?

Einstellungen - Textbausteine - Textbaustein hinzufügen. Was muss ich bei Namespace, Name und Wert eintragen? Und muss ich den Textbaustein im Template einbauen? Wenn ja in welchem und wie?

das kannst du eigentlich über ein Freitextfeld lösen das du als „Checkbox“ definierst, und dann eine Abfrage um die Eigenschaften legt,

ist die Checkbox z.B. aktiv blendest du die Eigenschaften aus, das gilt dann aber für alle Eigenschaften, diese stehen dann aber noch bei den Filtern zur Verfügung

Uwe

Und wie mache ich das?

@bdk-007 schrieb:

Genial, das versuche ich mal. Könntest du mir das bitte etwas detaillierter erklären?

Einstellungen - Textbausteine - Textbaustein hinzufügen. Was muss ich bei Namespace, Name und Wert eintragen? Und muss ich den Textbaustein im Template einbauen? Wenn ja in welchem und wie?

Hallo,

Artikel-Freitextfeld - NICHT Textbaustein.

Unter „Einstellungen“ -> „Grundeinstellungen“ -> „Artikel“ -> „Artikel-Freitextfelder“ -> „Hinzufügen“ -> bei Name beispielsweise „attr10“ eingeben -> bei Feldtyp „Checkbox“ auswählen -> „Varianten-Fähigkeit“ anklicken -> „Speichern“ klicken.

In der entsprechenden Template-Datei dann:

{if $sArticle.attr10 == true || $sArticle.attr10 == "true"}
     Eigenschaften anzeigen
{else}
     Eigenschaften ausblenden
{/if}

ergänzen.

Beste Grüße

Sebastian

Sebastian würde innerhalb der Templates eine Abfrage einbauen, welche prüft, ob du im Backend auf der Artikelebene die Checkbox aktiviert hast oder nicht.
Dazu musst du, wie eben gesagt, in den .tpl Dateien deines Templates arbeiten. 

Als Hilfestellung hat Shopware diese Dateien zur Verfügung gestellt:
Frontend Guides

Viele Grüße
ebenfalls Sebastian

An den Templates hatte ich bisher nichts verändert, aber an welchem Template muss ich das denn einfügen? Schätze mal

/html/themes/Frontend/Bare/frontend/detail/index.tpl

Weil in dem anderen thread was von tabs.tpl steht.

das Default-Feld kannst du leer lassen.

Ich weiß ja nicht bei wievielen Artikeln du es nicht anzeigen möchtest, denn bei der Lösung von Sebastian musst du das Feld aktiv haben und die Eigenschaften anzeigen zu lassen.

Wenn es nur wenige sind wäre eine entgegengesetzte Abfrage besser.

Uwe

 

@bdk-007 schrieb:

An den Templates hatte ich bisher nichts verändert, aber an welchem Template muss ich das denn einfügen? Schätze mal

/html/themes/Frontend/Bare/frontend/detail/index.tpl

Weil in dem anderen thread was von tabs.tpl steht.

Hallo,

im Bare - Theme schon einmal gar nicht, sondern in einem eigenen Theme, wo die Template-Datei vom Bare-Theme erbt, beispielsweise: Example - Custom listing page .

Wenn du mehr Artikel hast, wo die Eigenschaften eingeblendet werden sollen, als ausgeblendet, wäre es (sozusagen: wenn Checkbox gesetzt, ausblenden, sonst einblenden):

{if $sArticle.attr10 == false || $sArticle.attr10 == "false"}
     Eigenschaften einblenden
{else}
     Eigenschaften ausblenden
{/if}

Beste Grüße

Sebastian

Der Link dreht sich aber um custom listing, aber nicht um Artikel-Detailseiten?

Okay, wenn ich das richtig verstanden habe, vererbt das Bare auf mein Theme, in dem Fall müsste ich unter: /html/themes/Frontend/Responsive/frontend/detail eine index.tpl anlegen und diese erweitern?

Da wäre die zweite Variante besser, d.h. standardmäßig Haken inaktiv -> Eigenschaften werden eingeblendet. Heißt im Umkehrschluss: Wenn aktiv, Eigenschaften werden ausgeblendet.

@sschreier‍,

Sebastian, das Feld ist aber erst mal in der Datenbank leer im Standart und nicht unbedingt auf “false”

Uwe 

@bdk-007 schrieb:

Der Link dreht sich aber um custom listing, aber nicht um Artikel-Detailseiten?

Okay, wenn ich das richtig verstanden habe, vererbt das Bare auf mein Theme, in dem Fall müsste ich unter: /html/themes/Frontend/Responsive/frontend/detail eine index.tpl anlegen und diese erweitern?

Da wäre die zweite Variante besser, d.h. standardmäßig Haken inaktiv -> Eigenschaften werden eingeblendet. Heißt im Umkehrschluss: Wenn aktiv, Eigenschaften werden ausgeblendet.

Hallo,

bitte lies dir meinen letzten Beitrag noch einmal durch und ebenso die Doku. Der Link ist ein Beispiel, wo die Vererbung etc gut erklärt ist. Du sollst ein eigenes Theme erstellen, und nicht im Bare- oder Responsiv-Theme rumbearbeiten - außer du möchtest, das es beim nächsten Update wieder weg ist.

Uwe, du hast natürlich recht ;). Wäre am besten dann also:

{if $sArticle.attr10 == false || $sArticle.attr10 == "false" || $sArticle.attr10 == ""}
     Eigenschaften einblenden
{else}
     Eigenschaften ausblenden
{/if}

Beste Grüße

Sebastian

Ich habe den Artikel jetzt gelesen, aber verstanden hab ich ihn nicht. Mir ist die Logik von Shopware rätselhaft mit den smarty-geschichten. Kann mir bitte jemand eine stichpunktartige Schritt für Schritt Anleitung geben wie:

  • Neue Datei anlegen mit Inhalt “Content_hier”
  • hochladen in “/html/themes/Frontend/Responsive/frontend/detail”
  • Einbinden im BE über z.B. Themes etc…

Ich verwende das Standard-Responsive Theme von Shopware 5 ohne Anpassungen.

Hallo,

dann solltest du dir vielleicht doch einen kompetenten Ansprechpartner suchen, der das für dich löst, weil “Komplettlösungen” wird dir hier auch keiner bauen. Prinzipiell hast du in diesem Thema schon alle “Bausteine”, die du für deinen Wunsch brauchst. Für die Einbindung gibt es die sehr gut beschriebenen Dokus von Shopware.

Und wie gesagt (schon ziemlich oft in diesem Thema): im Ordner Responsive hat die Datei dann überhaupt nichts zu suchen.

Beste Grüße

Sebastian

{if $sArticle.attr10 == false || $sArticle.attr10 == "false" || $sArticle.attr10 == ""}
     Eigenschaften einblenden
{else}
     Eigenschaften ausblenden
{/if}

Wie ist denn der Code für „Eigenschaten einblenden“ bzw. für „Eigenschaften ausblenden“?

@bdk-007‍,

der Code ist nur ein Beispiel für die Abfrage, den Code für die Eigenschaften findest du in der /frontend/detail/tabs/description.tpl im Block {block name=‘frontend_detail_description_properties’}

da du wie ich sehe keine Erfahrung mit Shopware und Template und deren Vererbung hast wird es schwer für dich das umzusetzen.

Uwe