[Gelöst] Position Productstream in der Artikeldetailansicht ändern

Ich benötige eine andere Darstellung des Produktstreams in der Artikeldetailansicht. Es geht mir darum, dass er direkt sichtbar ist.

Am Ende der Seite sind versch. Register immer vorhanden (Ähnliche Artikel, Kunden kauften auch etc.). Lege ich beim Cross-Selling in der Artikelkonfiguration Zubehör mit an, erscheint das
Register als erstes vorne und die Artikel sind direkt sichtbar. Ein Produktstream wird am Ende eingereiht und muss vom Kunden erst angeklickt werden.

Ich hätte gerne den Produktstream an erster Stelle - sofern einer für den Artikel hinterlegt ist. Zubehör an zweiter Stelle. Alle anderen Register können in beliebiger Reihenfolge folgen.

Bisher habe ich versucht, die übrigen Register einfach auszublenden. Wenn nur der Produktstream vorhanden ist müsste er ja auch direkt sichtbar sein. Aber auch das Ausblenden schaffe ich nicht komplett.

“Kunden kauften auch” und “Kunden haben sich ebenfalls angesehen” wurden unter Performance -> Einstellungen deaktiviert.

“Ähnliche Artikel” sind aber immer noch da.

Gibt es hier eine Möglichkeit, einfach nur die Anzeigereihenfolge zu ändern? Diese Reihenfolge ist vermutlich im Template irgendwo festgelegt.

 

Alternativ könnte ich mir auch den Produktstream separat zwischen Artikelbild und Register Beschreibung/Bewertung vorstellen. Das ist aber wahrscheinlich noch komplizierter.

Hat hierzu jemand eine Idee?

 

LG

Das würde mich auch brennend interessieren;

ich hab schon versucht in den Dateien von:

Bare/frontend/detail/content

die Blöcke von den tab_* umzustellen, usw. usw.

aber anscheinend wird das noch von einem js geregelt:

div.tab-menu--cross-selling.js--tab-menu.js--menu-scroller

vielleicht liege ich aber falsch und jemand kann weiterhelfen…

Irgendwie müsste man die Priorität ändern. Wenn Produktstream vorhanden, dann als erstes anzeigen.

Oder: den Stream “aktiv” setzten. Ähnlich wie bei den Varianten true/false. An welcher Position das Register steht, wäre mir noch egal. Es muss nur direkt sichtbar sein.

Falls ich das richtig verstanden habe, könntes du einen Produktstream je Artikel ggf. so einfügen. Beim Produkt selbst müsstest du dann die ID des Streams der angezeigt werden soll einfügen.

 

{extends file='parent:frontend/detail/content.tpl'}


{* zeigt den Slider mit Produkten aus dem Produkt Stream mit der ID attr8 unterhalb an *}
{block name='frontend_detail_index_tabs'}
	{if $sArticle.attr8}
		{include file="frontend/_includes/product_slider.tpl"
		sliderMode="ajax"
		productSliderCls="steuerungsleiste" 
		sliderAjaxCtrlUrl="{url module=widgets controller=emotion action=productStreamArticleSlider streamId={$sArticle.attr8} productBoxLayout="slider"}"
		}
	{/if}
{$smarty.block.parent}
{/block}

 

Also ich habe den Produktstream bei den Artikeln im Reiter Crossselling bereits ausgewählt. Vorhanden ist er beim Artikel also schon, nur muss man erst den Reiter anklicken, weil ein anderes Register vorne angezeigt wird. Die Artikel im Produktstream sollen also direkt sichtbar sein, ohne dass der Kunde das Register erst anklicken muss.

Fügt dein Code den Produktstream an völlig anderer Stelle ein? Und erfolgt da die Zuordnung auch über Cross-Selling?

Nachtrag: Ich glaube zu erkennen, dass ich Freitextfeld 8 dafür aktivieren müsste und die Nr. des Streams dort eingebe?

@Toric schrieb:

Nachtrag: Ich glaube zu erkennen, dass ich Freitextfeld 8 dafür aktivieren müsste und die Nr. des Streams dort eingebe?

 Korrekt - der Weg wäre dann eben andersrum, du wählst im Artikel selbst aus welcher Stream angezeigt werden soll und trägst die ID des Streams in das angelegte Freitextfeld im Artikel ein.

In diesem Fall wäre dann auch der Stream an der Stelle über den Tabs für Beschreibung und Co.

Danke dir, ich werde es mal ausprobieren. Melde mich wieder

Also ich habe jetzt etwas herumprobiert, aber bei mir wird nichts angezeigt.

Die Datei habe ich abgelegt unter theme/frontend/meintheme/frontend/detail (also nicht in die Unterordner tabs oder comment).

Das Freitextfeld habe ich auf attr6 geändert im Code.  Und das Textfeld als Einfacher Text Varchar500 angelegt.

Nach mehrmaligem leeren des Caches wird nun die Artikelansicht garnicht mehr aufgerufen: Ups es ist ein Fehler aufgetreten. Nehme ich die content.tpl im eigenen Theme raus, ist die Ansicht wieder ok.

Komisch, ändere mal den Feldtyp auf Dezimalzahl DOUBLE und gib dem entsprechenende Artikel im den Artikeldetails auch die entsprechende ID. Oder du änderst am besten erstmal das Freitextfeld einfach in eine ID (zB 1) um das schonmal auszuschließen was den Fehler angeht. Korrekte abgelegt scheint es zu sein. Wir nutzen noch die 5.4.6 - also in der aktuellsten Version ist es nicht getestet.

Also ich habe jetzt in der Freitextfeld-Verwaltung attr6 auf Dezimal double gestellt.

StreamID war auf jeden Fall richtig, denn ich hatte den Stream auch bei Crossselling angehängt, dort wird die ID ja angezeigt.

Habe dennoch mal eine andere probiert. Hier wird auch wieder der Fehler angezeigt bei den Artikeldetailansichten.

Die StreamID wird doch in der Artikeleinrichtung im Textfeld6 in meinem Fall eingetragen und gespeichert?

(Ich habe in deinem Code natürlich aus attr8 attr6 gemacht)

Habe ich hier was grundlegend falsch verstanden?

Beim ersten Test gestern hatte ich eine noch ältere SW-Version, da hat sich in der Ansicht gar nichts verändert. Dann habe ich das Update auf 5.5.3 gemacht und dann erschien der Fehler.

 

Wenn der PS sich an der Stelle nicht darstellen lässt, wäre kein Drama. Aber dann sollte man doch wenigstens die Reihenfolge im Crossselling unten ändern können. PS zuerst aktiv, das würde mir schon reichen.

 

Bekomme übrigens diese Fehlermail:

Syntax Error in template "/var/www/vhosts/test.xy.de/demoneu/themes/Frontend/eigenestheme/frontend/detail/content.tpl" on line 4 "{* zeigt den Slider mit Produkten aus dem Produkt Stream mit der ID attr8 unterhalb an *}" unmatched {block} {/block} pairs

 

Lösch mal auf Verdacht diese Kommentarzeile 4

Das war es leider nicht. Jetzt kommt die Fehlermeldung für line 5 :wink:

Kopier mal bitte den gesamten Inhalt ohne weitere Änderungen jetzt hier hin. Es sieht ja eigentlich so aus als hättest du den Block nicht geschlossen  --> am Ende: {/block}

ooohhhhh wie peinlich. Ja, der Block war nicht geschlossen. Wearing-Sunglasses Code wohl nicht ganz markiert vor dem Kopieren.

Jetzt ist der Slider da - wunderbar. :slight_smile:

Kann ich den optisch selbst verändern oder ist ein “Komplettpaket”? Also z.B. ohne Preisanzeige oder den Titel des Produktstreams obendrüber?

Du hast im Code die Klasse “steuerungsleiste”, diese kannst du ganz individuell ansprechen.

 

Nur zwei Beispiele:

product-slider.steuerungsleiste a.product--title{
	display: none;
}
.product-slider.steuerungsleiste .product--price-info{
	display: none;
}

 

 

Danke dir vielmals, der Slider läuft jetzt und die Anpassung übe ich in Ruhe im Testshop :wink:

Ich frage mich tatsächlich, wie sich die Reihenfolge der Product Streams auf der Detailseite ergibt. Es ist nicht die Reihenfolge, in der sie hinzugefügt werden (würde Sinn machen), es sind nicht die Stream IDs,  nicht die Namen…???  Shopware 5 - Produkte & Kategorien - Product-Streams