Conjunto país a partir personalizado carrinho de controlador
-
13-12-2019 - |
Pergunta
Eu tento colocar o país a partir de personalizar meu carrinho de controlador com a seguinte função:
public function setCountryAction()
{
$country = (string) $this->getRequest()->getParam('country');
$quote = Mage::getSingleton('checkout/session')->getQuote();
$quote->getBillingAddress()->setCountryId($country);
$quote->getShippingAddress()->setCountryId($country);
$quote->save();
// print $quote->getBillingAddress()->getCountryId();
}
A impressão no final da função contém o resultado esperado, mas, infelizmente, o país não está realmente salvo a citação.
Quando eu mudar o país a partir do checkout, volte para o carrinho e fazer novamente a ação, estranhamente ele funciona perfeitamente.
Portanto, o problema só existe com um novo, vazio sessão.
Solução 2
Finalmente encontrei!Esse problema tem a ver com o Padrão do país " opção no OneStepCheckout extensão.
Outras dicas
Em vez de $quote->save();
ou antes de tentar
$quote->getBillingAddress()->save();
$quote->getShippingAddress()->save();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange