DeliveryTime bei Pseudo-Produkten?

Nach dem ich nun echte Pseudo-Produkten in den Warenkorb anlegen kann, knobel ich jetzt an DeliveryTime. Ich weiß nicht mit welchen Format ich das anlegen muss.

Aktuell hänge ich hier fest:

/*
wenn Produkt besteht, aber eben nicht bei Pseudo
$deliveryTime = DeliveryTime::createFromEntity( $product->getDeliveryTime() );
*/

$deliveryTime = ?

$productLineItems->setDeliveryInformation(
 new DeliveryInformation(
 1,
 Null,
 false,
 Null,
 $deliveryTime, 
 Null,
 Null,
 Null
  )
);

Jemand dazu eine Idee? Link Github?

Auch hier erneut der Hinweis: schau dir doch mal den ProductCartProcessor an. Hier wird das DeliveryInformation Objekt ebenfalls gebaut.

Viele Grüße

Ähm, da steht aber genau die Zeile drin, die ich hier im Beispiel gepostet habe. Das funktioniert nicht.

Hier steht ein Beispiel, wie das Objekt gefüllt werden muss bzw. welche Daten erwartet werden: shopware/src/Core/Content/Product/Cart/ProductCartProcessor.php at trunk · shopware/shopware · GitHub
Und hier findest du wie ein DeliveryTime Objekt auszusehen hat: shopware/src/Core/Content/Product/Cart/ProductCartProcessor.php at trunk · shopware/shopware · GitHub
Und: was heißt „funktioniert nicht“?

Viele Grüße

Ja die Links kenn ich schon - siehe mein Beispiel oben.

Es scheitert an ‚$product->getDeliveryTime()‘. Wo soll das herkommen, wenn das Produkt gar nicht existiert?

Bitte, du bist doch nun schon lange genug dabei - verweigere dich nicht jeder Selbstrecherche und Eigeninitiative. Folge doch dem DeliveryTime::createFromEntity und schau dir an, was da passiert.

Viele Grüße

Ja du das mache ich ja, aber rate mal warum ich hier Frage? Kommst nie drauf :wink:

Hat sich sonst jemand ernsthaft damit beschäftigt?

Im DeliveryTime::createFromEntity steht

$self = new self();
        $self->setName((string) $entity->getTranslation('name'));
        $self->setUnit($entity->getUnit());
        $self->setMax($entity->getMax());
        $self->setMin($entity->getMin());

Hmmm… was könnte man den jetzt wohl machen? Der Name ist scheinbar nur ein string. Was also noch? Man könnte sich z.B. die product definition anschauen, was in unit, max und min drin steht bzw. welche Datentypen das sind. Auch eine debug Ausgabe der Variable bei einem Standard Produkt im Warenkorb könnte z.B. helfen.

Ich bin über gerade bei dir über deine komplette Verweigerung - auch nur 2 Minuten in die Recherche zu stecken - wirklich erstaunt. Aber ich bin jetzt hier raus. Viel Glück dem nächsten.

Viele Grüße

Auch das habe ich bereits versucht, aber im Controller ging das nicht. Funktionne wie setName() unbekannt. Ich habe jetzt schon einige Sachen ausprobiert und das schon seit Stunden. Weil ich aber nicht weiterkomme, dachte ich Frage mal im Forum. Bis man nur noch dumme Antworten bekommt.

Sorry mein Guter, aber das ist tolaer Unsinn. Schreib mir bitte nicht mehr, das hilft mir nicht.

Versteh jetzt das Problem nicht, erzeug Dir halt Deine Delivery Time

$deliveryTime = new DeliveryTime();
$deliveryTime->setName('1-3 Tage');
$deliveryTime->setUnit('day');
$deliveryTime->setMin(1);
$deliveryTime->setMax(3);

Werte nach belieben anpassen…

1 „Gefällt mir“

Weiß nicht woher du dieses Beispiel hast, es funktioniert. Darauf wäre ich aber nie gekommen weil diese Methode in SW6.6.x und in diversen anderen Plugins so gar nicht benutzt wird. Ich hatte mich bereits mit „new self()“ festgebissen.

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.