Werte vom eigenem Inputfeld in Datenbank schreiben

Hallo,

ich habe ein Plugin geschrieben, welches mir im Checkout die Eingabe eines eignenen Inputfields in die s_user_attributes schreiben soll.

Allerdings schaffe ich es nicht den Wert des Inputs zu bekommen, sondern nur, zu Testzwecken, den Wert einer Variable innerhalb des Plugins.

$postData = $args->getSubject()->Request()->getPost();
$CustomInput = $postData['NamedesInputFeldes'];
        
$test = 'funktioniert';

$sql = 'UPDATE s_user_attributes SET customattribute = ? WHERE userID = ?';
Shopware()->Db()->query($sql,array($test, $userId));

Wenn ich nun $test mit $CustomInput bei der Datenbank Funktion austausche, dann ist der Wert des Datenbankfeldes leer (scheinbar wird das Input Feld nicht gefunden?)

Mit getParams funktioniert dies ebenso nicht.

 

Auszug aus der confirm.tpl

...

 

Hoffe mir kann da kurz einer auf die Sprünge helfen. Danke! Angry-Face

Update:

Wenn ich folgendes direkt in die finishAction reinschreibe funktioniert es:

if ($this->Request()->getParam('NamedesInputFeldes') !== null) {
            $CustomInput = $this->Request()->getParam('NamedesInputFeldes');
            $userId = $this->session['sUserId'];
            $sql = 'UPDATE s_user_attributes SET customattribute = ? WHERE userID = ?';
            Shopware()->Db()->query($sql,array($CustomInput, $userId));
        }

Dieser wiederrum funktioniert aber nicht im Plugin. Generell kann ich kein $this im Plugin verwenden sondern nur $args?

Hast du mal selber überprüft ob deine Variablen $CustomInput und $userId auch Inhalt haben bzw. deine If-Abfrage überhaupt funktioniert?

Und Fezzzzy, hast du es geschafft? Ich bin gerade am selben Punkt. Hast du dir ein eigenes Plugin geschrieben?

 

Grüße Gregor