Magento'da programlı olarak bir kullanıcıya ödeme yapmaya çalışıyorum. Bunları $this->_redirect('checkout/onepage');
'a gönderebilirim, ancak bir çeşit üçüncü taraf ödeme uzantısına sahiplerse, uygun olanı kullanmayacağım. Site için varsayılan ödeme URL'sini almanın ve orada yeniden yönlendirmenin bir yolu var mı?Magento mağazası için varsayılan ödeme URL'sini nasıl alabilirim?
cevap
Varsayılan olarak, ödeme bağlantısı Mage_Checkout_Block_Onepage_Link
sınıfının işlevi tarafından döndürülür. Oldukça basit ise:
public function getCheckoutUrl()
{
return $this->getUrl('checkout/onepage', array('_secure'=>true));
}
3. parti uzantıları büyük olasılıkla bu sınıfı geçersiz kılar (i OneStepCheckout 1.4 işaretli ve bu gibi çalışır).
Bu tam olarak ihtiyacım olan şey gibi görünüyor. Ancak, yeni bir Mage_Checkout_Block_Onepage_Link nesnesi oluşturduğumda, bu işlevin tanımlanmadığını söyler. – smokingoyster
Bunu bir Ön Kontrol Cihazında açtım: Mage :: helper ('checkout/url') -> getCheckoutUrl() ' – smokingoyster
Site sadece multishipping checkout kullanıyorsa, bu işe yaramaz. – kiatng
tür OnePagecheckout gibi uzantılar veya OneStepcheckout
- yılında
$checkout_link = Mage::helper('checkout/url')->getCheckoutUrl();
bu dönüş çıkış bağlantı ile deneyebilirsiniz çıkış url
Bu daha doğru bir yaklaşımdır. Nice – bla0009
'Mage :: helper (' checkout/url ') -> getCheckoutUrl(); 'her koşulda ödeme bağlantısını döndürür. Her zaman onepage çıkış URL'sini döndürür: '$ this-> getUrl ('checkout/onepage', dizi ('_ secure' => true))' 'Eğer site sadece multishipping checkout kullanıyorsa, iyi çalışmaz. – kiatng
Her zaman işe yaramadığını kabul ediyorum. Bizim için Magento 1.9 ile birlikte, http: //
cart.phtml dosyasında, < getMethods (') var yöntemleri ') $ yöntemi olarak):?>, site için mevcut tüm ödeme yöntemlerini listeleyecek. GetMethods() işlevi yalnızca bir yöntem döndürürse, varsayılan bir ödeme URL'si vardır. Ya birden fazla yöntem döndürürse? –
kiatng