Produkt Wunschlieferdatum hinzufügen

#1

Hallo zusammen,

wir würden gerne Produkte, die individualisierbar sind, zum Wunschtermin des Kunden versenden. Bisher nutzen wir dazu das Textfeld, jedoch ist es ein bisschen unstrukturiert, wenn die Kunden bis zu 3 verschiedene Informationen in diesem Feld verarbeiten müssen. Um das ein bisschen auseinander zu kuddeln dachte ich mir ein Kalenderdropdown als extra Feld wäre ganz nett. Das ist ja auch mit dem input type date recht einfach umzusetzen - das Speichern ist eine andere Sache.

Meinetwegen kann das in der Datenbank im gleichen Feld gespeichert werden, aber halt auf etwas strukturiertere Art und Weise. D.h. bspw. zuerst das Wunschlieferdatum und dann der Rest von dem, was der Kunde im Textfeld eingegeben hat. Ist das irgendwie möglich? Wenn ja, wie? Oder gibt es bessere Umsetzungsvorschläge? :slight_smile:

Danke und liebe Grüße!

#2


Ist schon etwas älter, aber vielleicht eine Idee für Dich.

#3

Danke, schaue ich mir gerne mal an. “Geschrieben für 4.7.1” - wir haben 4.10, aber ich probier’s mal aus :slight_smile:

Update: huiuiui das zerschießt mir ein bisschen die Seite. Ich kann keine Artikel mehr in den Warenkorb legen. Entweder ich finde dafür noch nen Fix oder ich lasse besser mal die Finger davon :smiley:

#4

Für 4,.9/4.10

#5

Mega!! Danke, funktioniert prima. Nur noch ein bisschen anpassen und schon ist es einsatzbereit :slight_smile:

#6

Ich würde die einzelnen Parameter gerne noch weiter nutzen, um entsprechend unterschiedliche Textfelder auszugeben.

Problem dabei ist aber, dass die Parameter nicht einzeln in der Datenbank gespeichert werden. In der neuen Spalte “OXADDPARAMS” werden zu jedem Artikel die verschiedenen Parameter so gespeichert:
“Parameter1|Parameter2|Parameter3”

D.h. ein Auslesen à la "[{if $oDetailsProduct->oxarticles__oxaddparams->value === “Parameter1”}] ist nicht möglich bzw. nicht sonderlich hilfreich.

Würde vielleicht irgendetwas in dieser Richtung klappen?:
[{if [{ $param_name }] === “Parameter1”}]

Oder gibt es einen anderen Weg? Notfalls wäre wohl auch eine etwas starrere Regel möglich. Z.B. dass der erstgenannte Parameter immer ein bestimmtes Textfeld liefert, der zweitgenannte ein anderes bestimmtes Textfeld usw. D.h. dass gar nicht mehr auf den Parameternamen abgezielt wird…

Oder habt ihr evtl. andere Vorschläge? :slight_smile: Danke und liebe Grüße!

#7

Die Verarbeitung ist ja im Modul drin. Schau mal in https://www.php.net/manual/de/function.explode.php

#8

Danke für den Hinweis, nur leider übersteigt das ein bisschen meine Fähigkeiten. (Auch nach sorgfältigem Lesen des Artikels)

Gibt es noch eine Möglichkeit das ganze mit einer if-Abfrage individuell zu gestalten? Bspw. so:
[{if $oDetailsProduct->aPersistParam.text->value === “Parameter1”}]
Hat bei mir aber leider nicht geklappt. Eine Lösung in dieser Richtung wäre super :smiley:

Nochmal vielleicht zur allgemeinen Erklärung. Ein Parameter wäre bspw. “Wunschdatum” und daraufhin soll sich der input type von textarea zu date ändern. Das war so meine Idee :smiley:

Liebe Grüße

#9

Ja, dazu musst alles entpacken und die entsprechende Variable Bsp: $xxx[0] vergleichen statt den gesamten Wert.

#10

Ich verstehe die Logik dahinter, aber ich habe keine Ahnung wie man das umsetzt :frowning: Bin noch Newbie :sweat_smile:

#11

Die könntest ppg_addparams_oxarticles erweitern und wie folgt abrufen:
[{$oDetailsProduct->wert(0)}]
Wenn also folgendes in Deinem Feld zusätzliche Parameter steht: AAA|BBB|CCC
dann…

[{if $oDetailsProduct->wert(0) == “AAA”}] AAA [{/if}]
[{if $oDetailsProduct->wert(1) == “BBB”}] BBB[{/if}]
[{if $oDetailsProduct->wert(2) == “CCC”}] CCC [{/if}]

public function wert($x) {
        $addparams = explode("|",$this->oxarticles__oxaddparams->value);
        return $addparams[$x];
    }