Jump to content

Anzeigen der ausgewählten Attribute von der Produktseite auf der Checkout Seite


Recommended Posts

Hallo zusammen,


 


ich bin aktuell dabei, mit prestashop einen Webshop zu erstellen und komme bei einer Herausforderung nicht mehr weiter.


 


In dem Shop besitzen die Produkte 5 Attribute, welche mithilfe von Dropdown Menüs auf der Produktseite ausgewählt werden müssen. Anschließend kann das Produkt ausgewählt und bestellt werden.


 


Leider werden beim Checkout (shopping-cart) in der Produktbeschreibung alle Attribute als Hyperlink hintereinander geklatscht. Die Anforderung ist jedoch, dass nur ein Attribut je Zeile in der Beschreibung dargestellt wird (siehe Anlage).


 


Nachdem ich eine Weile gesucht habe, vermute ich, dass die Anpassung hierzu in der "shopping-cart-product-line.tpl" erfolgen muss. Hier existiert {$product.attributes}, welches leider alles Attribute als ein Link darstellt.


 


Kann mir bitte jemand helfen, wie ich auf der Checkout Seite nur ein Attribute pro Zeile und nicht alle als Link ausgegeben bekomme? Ich weiß nicht, wie man die Werte der ausgewählten Attribute abfragen und darstellen kann. Bisher habe ich nur ein paar ksh Skripte geschrieben. Das hier übersteigt leider meinen Horizont...


 


Viele Grüße,


Christian


shopping-cart-page_description.pdf

Link to comment
Share on other sites

Du kannst den Attribut wert von presta splitten über das Komma und dann für jeden Eintrag den "wert:" mittels substring auslesen.

Wäre jetzt meine erst idee.

Grüße

 

EDIT:

{assign var=”splitted” value=”,”|explode:$product.attributes}

{foreach from=$splitted item=splitValue}

   {assign var="trenner" value=$splitValue|strpos:":"}
   {$splitValue|substr:$trenner+1}

{/foreach}
Edited by BluTiGeS (see edit history)
Link to comment
Share on other sites

Hi,

 

erstmal vielen Dank für Deine Unterstützung. Den Ansatz finde ich gut. 

Wenn ich aber jetzt den "Code" in die Datei "shopping-cart-product-line.tpl" einfüge, bleibt die Seite weiß und sie wird nicht mehr geladen. Kann ich den Absatz in die "shopping-cart-product-line.tpl" kopieren oder muss der Absatz evtl. in eine andere Datei?

 

Selbst wenn ich nur die 1. Zeile "{assign var=”splitted value=”,”|explode:$product.attributes}" einfüge, kann bereits die Seite nicht mehr geladen werden.

 

Viele Grüße,

Christian

Link to comment
Share on other sites

Guest Conprestador

Vielleicht darum, weil Presta wohl mit unbekannten Elementen von (undefinierten) arrays nichts anfangen kann. Was soll denn "item='splitValue" sein?

Aber auch wenn das mit der Schleife funtionieren sollte, habe ich den Eindruck, die fängt immer wieder von vorn an.

Link to comment
Share on other sites

Hi,

 

@Thanatos nimm den Code hab ich getestet geht, fehler oben war "" , wurde nicht richtig übernommen im Forum, darum jetzt durch single quote ersetzt.

{assign var='splitted' value=','|explode:$product.attributes}
{foreach from=$splitted item=splitValue}
   {assign var='trenner' value=$splitValue|strpos:":"}
	{$splitValue|substr:($trenner+1)}
{/foreach}
		

@Conprestador:

Wieso unbekannt? Kannst du programmieren? Weisst du was explode macht  ;P ?

 

Und foreach gibt es ja im PHP auch alles korrekt wie es oben ist.

foreach (array_expression as $value)    statement
Edited by BluTiGeS (see edit history)
Link to comment
Share on other sites

Guest Conprestador

Na, lass man gut sein. Ich weiß, daß explode ein array anlegt. Also wozu so aggressiv? Oder liegts am Nickname? ^_^

 

Ok, du hast Recht. Dein Code funktioniert. Da war ich zu voreilig.

 

Aber er bringt doch nichts, denn du kriegst so nicht mehr sondern weniger Infos!  Jetzt wird erst recht alles aneinandergeklatscht. Vorher war da wenigstens noch vorangestellt Attributname mit Doppelpunkt. Den hast du jetzt wegprogrammiert.

Link to comment
Share on other sites

Hallo BluTiGes,

 

ich bin Dir unendlich dankbar. Ich ärgere mich hier seit Oktober bereits mit rum!

Danke, danke und nochmals danke!

 

Damit der Zeilenumbruch erfolgt, habe ich noch ein "<br>2 eingefügt.

Des Weiteren musste ich bei den Preisen das Komma durch einen Punkt ersetzen, damit nicht alles zerpflückt wird.

 

Nochmal Danke!

 

Viele Grüße,

Christian

Link to comment
Share on other sites

Hi,

Wenn du es mit Attribut Namen haben willst einfach nur

{$splitValue} in der foreach ausgeben.

Dein pdf hat das aber anders gezeigt ;) aber egal.

So geht es jedenfalls:

{assign var='splitted' value=','|explode:$product.attributes}
{foreach from=$splitted item=splitValue}
	{$splitValue|escape:'htmlall':'UTF-8'}<br/>
{/foreach}

oder als unorder list:

{assign var='splitted' value=','|explode:$product.attributes}
<ul>
{foreach from=$splitted item=splitValue}
	<li>{$splitValue|escape:'htmlall':'UTF-8'}</li>
{/foreach}
</ul>

@Conprestador  nichts für ungut, aber von Kommentaren ohne SInn halte ich nicht viel ;), und wenn man schon am Code meckert, dann kann man ihn doch gleich korrigieren, wenn man es besser weiss :)

 

 

 

Over and Out in dem Topic ;)

Edited by BluTiGeS (see edit history)
Link to comment
Share on other sites

Hi,

 

ich habe doch nochmal eine allerletzte abschließende Frage.

Die Sortierung der ausgegebenen Produkt Attribute ist leider nicht sinnvoll.

Die Ursache hierfür liegt darin, dass der Varianten-Generator leider die Attribute alphabetisch sortiert und dies somit bis zum Warenkorb so durchgereicht wird. Ich habe es nicht hinbekommen, die sortier Reihenfolge zu ändern.

 

Besteht die Möglichkeit, dass man das Array so erweitert, dass man jedem Attribut einen Wert zuweist und anschließend eine Sortierung vor der Ausgabe durchführt?

 

z.B. für die Attribute:

 

Miet- und Kaufoption = 1

Transaktionspaket = 2

SIM-Karte = 3

Rechnungsversand =4

Kartenakzeptanzoption = 5

Kommunikationsart = 6

Anzahl Rollen = 7

 

Die Ausgabe soll hierbei aufsteigend erfolgen. Zu beachten ist, dass nicht immer alle Attribute vorhanden sind.

Somit könnte man z.B. einem fehlenden Attribut im Array den Wert 0 zuweisen und nur dass, was zwischen 1 bis 7 vorhanden ist, ausgeben.

 

Kann mich hierbei bitte jemand unterstützen?

 

 

 

 

@EDIT:

Vielleicht wäre es einfacher, wenn man beim Varianten-Generator die Sortier Reihenfolge anhand der Attribut_ID durchführt. Dann müsste ich nur die IDs mithilfe des Backoffices oder direkt in der Datenbank anpassen.

 

 

Viele Grüße,

Christian

Edited by Thanatos (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...