Yeni gönderim yöntemi yapıyorum ve gönderim ücretlerini kontrol etmek için yeni sütun eklemem gerekiyor. Veriler, örneğin yöntem açıklaması gibi özel gönderim yöntemi ayarlarından gelir. Veya müşterinin bilgi ekleyebileceği bazı giriş alanları (veriler büyük olasılıkla alıntıya ve daha sonra sırayla kaydedilir).
Muhtemelen en kolay kısmı kullanarak şablon uygulamaktır
Magento_Checkout/web/template/shipping.html
Sadece buna ihtiyacı var
<div data-bind="text: method.description"></div>
Sorun, nasıl özel veri ekleneceğini anlayamıyorum. Bunu eklemek yeterli değil:
public function collectRates(RateRequest $request)
{
if (!$this->isActive()) return false;
$method = $this->rateMethodFactory->create();
$method->setData('carrier', $this->getCarrierCode());
$method->setData('carrier_title', $this->getConfigData('title'));
$method->setData('method_title', $this->getConfigData('title'));
$method->setData('method', $this->getCarrierCode());
$method->setPrice($this->_price);
$method->setData('cost', $this->_price);
// custom
$method->setData('description', $this->getConfigData('description'));
$result = $this->rateResultFactory->create();
$result->append($method);
return $result;
}
HTML için veriler, API'dan veri alan js rate () yönteminden gelir:
<route url="/V1/carts/:cartId/shipping-methods" method="GET">
<service class="Magento\Quote\Api\ShippingMethodManagementInterface" method="getList"/>
<resources>
<resource ref="Magento_Cart::manage" />
</resources>
</route>
Bundan sonra bir şey gerçekten toplanırken birçok adım vardır. buldum
Magento \ Quote \ Model \ Cart \ ShippingMethodConverter modelToDataObject ()
en ümit verici görünüyordu ama niteliğimi ona eklemeye çalışırsam hiçbir şey olmaz.
Dolayısıyla sorum şu: Gönderim ücretlerine yeni veri eklemenin bir yolu varsa? M1'de mümkün oldu. M2 mümkün olmasaydı deli olurdu.
Bunun mümkün olmasının birçok nedeni vardır. Örneğin, birden fazla mağaza açılır veya benzer bir şey ile mağaza yönteminde pick up yapmak istedim.