Hallo miteinander,
Ich bin sehr neu bei Shopware. Ich habe zwei Tage lang erfolglos versucht, ein Freitextfeld während der Auftragserstellung zu speichern.
Ich wäre sehr dankbar, wenn mich hier jemand in die richtige Richtung weisen könnte.
Voraussetzung ist, dass ich die Gesamtlieferzeit des vollen Warenkorbs anzeigen und diese auch in der Bestellbestätigungsmail senden muss.
Ich habe die Lieferzeit erfolgreich berechnet und in cart_footer.tpl angezeigt.
Um es zusammen mit der Bestätigungsmail zu senden, versuche ich, es in der Datenbank zu speichern.
Meine Idee war es, ein freies Textfeld zu verwenden, es in der verify.tpl versteckt zu halten und es mit dem Versandzeitwert zu aktualisieren, den ich in Javascript anzeige.
Wird das Freitextfeld automatisch gespeichert? (Ich habe versucht, dasselbe im Registerformular zu tun, und es hat gemäß dem gezeigten Beispiel Attribute system perfekt funktioniert.)
Mein Plugin derzeit:
class SwagShoeSize extends Plugin
{
public function install(InstallContext $context)
{
return true; }
public static function getSubscribedEvents()
{
return [
‚Shopware_Modules_Order_SendMail_FilterVariables‘ => ‚myFunction‘
];
}
public function myFunction(Enlight_Event_EventArgs $args) {
$orderVariables = $args->getReturn();
$ordernumber = $orderVariables[„ordernumber“];
$order = Shopware()->Models()->getRepository(‚Shopware\Models\Order\Order‘)->findOneBy(array(‚number‘=>$ordernumber));
$order_id = $order->getId();
$sql = ‚UPDATE s_order_attributes SET shiptime = '5'
WHERE orderID = ?‘;
$connection = $this->container->get(‚dbal_connection‘);
$statement = $connection->prepare($sql);
$statement->execute([‚orderID‘ => $order_id]);
}
}
Ich bekomme nichts in die Datenbank eingefügt oder aktualisiert.
Könnten Sie mir bitte hier helfen?