Post by skyboard » Mon Apr 29, 2013 11:19 pm

Hallo an alle hier,

zur Zeit bin ich dabei einen shop hoch zu ziehen, der Ärmbänder verkauft. Basis ist Opencart 1.5.4
Für diese Armbänder soll es möglich sein, zusätzlich Anhänger hinzuzufügen. Diese werden dann auch gleich in das Armband eingearbeitet.

Meine Lösung sieht vor, das über die Optionen zu lösen. Also z. b. das Produkt Lederarmband und dann 30 Optionen (typ= checkbox) die dann ausgewählt werden können und damit der Preis auch entsprechend höher wird.
Das Layout etc. habe ich schon fertig, was fehlt, ist eine Beschreibung der Anhänger.

Hier muss also ein Feld hinzugefügt werden.
Vorne weg: es gibt eine Vqmod die das leistet, die Beschreibung kann dort aber nur in die Optionen, für das jeweilige Produkt hinzugefügt werden. Ich möchte direkt in den Optionen die Beschreibung hinzufügen.

Nun gibt es viele Tutorials die erklären wie man Feld hinzufügt, aber diese Beschäftigen sich nur mit Feldern die nur ein mal pro Seite auf tauchen und deshalb nicht in Arrys sondern in einzelnen variablen gespeichert werden.
Die optionen werden aber in Arrays gespeichert und hier liegt mein Problem. Man muss dazu sagen, das ich Php und mysql grad erst angefangen habe und deshalb nur die basics drauf habe. Den Code lesen kann ich zumindest zum großteil schon.

Ich kann einfach nicht herausfinden, wo die Inhalte der Forms in admin/view/template/catalog/option_form.tpl
in der admin/controller/catalog/option.php übergeben werden.
Aus der admin/model/catalog/option.php weis ich wie die variablen, die die werte in die Datenbank übertragen/auslesen heißen, aber ich kann den Zwischenschritt nicht rekonstruieren, weil es einfach in für mich zu viele Arrays verschachtelt ist.


Ich versuche mich an Hand der Namen für die Werte einer Option Option_value_description[name] durch den ablauf zu hangeln.
Bisher weis ich Folgendes:

Das Imputfield für den Namen eines Wertes der Option bekommt den namen:option_value [$row][option_value_description][$language_id][name]
Hier fängt es für mich schon an: Anhand dieses Namens müsste das Formular ja im Controller ausgelesen werden? den Schritt finde ich nicht.

Dann von hinter heran gegangen:
Der Wert wird mit der Datenbank im Array option_value_description['name'] gespeichert/ausgelesen.
Das Array option_value_description ist im Array option_value ['option_value_description'] gespeichert.
Das Array option_value ist nun und da bin ich mir nicht sicher im array option_value_data['option_value'], option['option_value'] oder data['option_value'] zu finden.

Auch hier laufe ich also in eine Sackgasse.

Kann mir irgendwer die Fehlende Verbindung Zeigen?
Also wo genau werden die Values des Feld "name" (Der Name für die Werte einer Option) gespeichert?

Hoffe ich habe mich ein wenig verständlich machen können.

Danke schon mal an jeden der sich die Mühe macht das nachzuvollziehen.

Liebe Grüße

sky

Newbie

Posts

Joined
Mon Apr 29, 2013 10:44 pm

Post by karleyde » Mon May 13, 2013 4:42 pm

Hi, PHP sehe ich hier als falschen Ansatz: Würde vorschlagen, dass Du das per jquery löst.

Zum einen wird vermutlich das von Dir angesprochene Modul beim Klick ja eine Action hinterlegt haben, damit die Beschreibung der Option auftaucht und der Preis upgedatet wird. Zum anderen sind die Werte ja schon vorhanden, wenn Du dieses Optionen anzeigst - also braucht man die nicht noch mal abfragen, wie Du es versuchst.
In die Action solltest Du dann rein gehen und im Text (bevorzugt davor oder dahinter) einen Tag haben, an dem Du dann die Beschreibung platzierst.

Es geht ja - wenn ich dich richtig Verstehe nur für die Ansicht beim Kunden. Du selbst kann ja die Bestellung dann aufgrund der Optionen weiter bearbeiten. Ansonsten wäre jedes Produkt ja ein Custom Produkt. So was gibt es auch als Modul - musste mal suchen - aber denke der JQuery Ansatz ist schneller und einfacher zu realisieren. Also mit JQuery beschäftigen statt mit PHP wäre mein Vorschlag, wenn Du es selbst machen willst.

Viele Grüße und viel Erfolg
Karsten

User avatar
New member

Posts

Joined
Tue Sep 04, 2012 3:58 am
Who is online

Users browsing this forum: No registered users and 29 guests