您描述的按钮确实有效.返回主页可能是标准的Magento行为之一.
要回答你的问题,这是你可以做的.
请注意,如果产品存在于多个类别中,则会重定向到其附加的第一个类别.
这些代码已经在Magento 1.7.0.0上成功测试过.
PHP代码将是:
<?php
$lastProductAddedToCartId = Mage::getSingleton('checkout/session')->getLastAddedProductId();
if($lastProductAddedToCartId) {
$productCategoryIdsArray = Mage::getModel('catalog/product')->load($lastProductAddedToCartId)->getCategoryIds();
$continueShoppingCategoryUrl = Mage::getModel('catalog/category')->load($productCategoryIdsArray[0])->getUrl();
}
?>
Run Code Online (Sandbox Code Playgroud)
HTML按钮代码将是:
<button type="button" title="Continue Shopping" class="button btn-continue" onclick="setLocation('<?php echo (isset($continueShoppingCategoryUrl)) ? $continueShoppingCategoryUrl : $this->getContinueShoppingUrl(); ?>')"><span><span>Continue Shopping</span></span></button>
Run Code Online (Sandbox Code Playgroud)
例如,如果您将PHP代码放在template/checkout/cart.phtml
文件的开头而不是最佳实践,则上述代码可以正常工作.
最佳做法是:
1)你自己的助手,你可以在按钮的setLocation()
PHP参数中调用,如下所示:
setLocation('<?php echo (Mage::helper('myhelper')->getContinueShoppingCategoryUrl()) ? Mage::helper('myhelper')->getContinueShoppingCategoryUrl() : $this->getContinueShoppingUrl(); ?>')
Run Code Online (Sandbox Code Playgroud)
2)或(不太好的IMO),重写Mage_Checkout_Block_Cart::getContinueShoppingUrl()
方法.
归档时间: |
|
查看次数: |
8607 次 |
最近记录: |