sunt nedumerit. Cum obțineți valorile din configurația metodei de expediere? De exemplu, am o metodă de expediere cu tarif fix „Express”. Vreau să obțin valorile brute ale formularului de configurare stocate pe acea metodă de expediere. Cum ar fi rata sau un câmp personalizat pe care l-am furnizat.
M-am conectat la metodele de expediere pentru a adăuga un câmp de formular personalizat. Dar acum trebuie să-l recuperez mai târziu. Valorile nu sunt pe entitatea de expediere.
$shippingMethodId = $commerceOrder->shipments->entity->shipping_method->entity->shipping_method_id->value;
$shipping_method_storage = \Drupal::entityTypeManager()->getStorage('commerce_shipping_method');
$metoda_livrare = $metoda_livrare_storage->load($shippingMethodId);
//$metoda_livrare->rata->valoare
//$shipping_method->honeys_place_shipping_code->valoare
Am încercat să adaug valorile la ShippingRate returnat de calculateRates()
funcția publică calculateRates(ShipmentInterface $shipment) {
$rate = [];
$rate[] = Rata de expediere noua([
'shipping_method_id' => $this->parentEntity->id(),
'service' => $this->services['default'],
'amount' => Price::fromArray($this->configuration['rate_amount']),
'description' => $this->configuration['rate_description'],
'honeys_place_shipping_code' => $this->configuration['honeys_place_shipping_code'] // < -----
]);
returnare $ rate;
}
Aceasta se declanșează, dar nu ajunge mai târziu în entitatea de expediere a comenzii. Știu că pot recupera tariful accesând „cantitate” de la entitatea de expediere. Dar trebuie și să recuperez valori personalizate.
Există o modalitate de a prelua aceste valori din config sau de a le aduce pe obiectul entitate de expediere?
