我想重新编写结帐购物车网址。我创建了一个模块,但它无法正常工作。我在模型中创建了config.xml和Url.php,但没有成功。我的代码是:etc / config.xml
<?xml version="1.0"?>
<config>
<modules>
<Ghrix_Newcart>
<version>1.0.0</version>
</Ghrix_Newcart>
</modules>
<global>
<rewrite>
<ghrix_newcart_checkout_cart>
<from><![CDATA[#^/checkout/winkelwagen#]]></from>
<to><![CDATA[#^/checkout/cart#]]></to>
</ghrix_newcart_checkout_cart>
</rewrite>
<models>
<ghrix_newcart>
<class>Ghrix_Newcart_Model</class>
</ghrix_newcart>
<core>
<rewrite>
<url>Ghrix_Newcart_Model_Url</url>
</rewrite>
</core>
</models>
</global>
</config>
模型/ Url.php中的
<?php
class Ghrix_Newcart_Model_Url extends Mage_Core_Model_Url {
/**
* Build url by requested path and parameters
*
* @param string|null $routePath
* @param array|null $routeParams
* @return string
*/
public function getUrl($routePath = null, $routeParams = null) {
if(strstr($routePath,'checkout')){
//echo $routePath.'--ss--<br />';
}
if ( $routePath == 'checkout/cart' ) {
$routePath = 'checkout/cart';
}
return parent::getUrl($routePath, $routeParams);
}
}
?>
我已经正确创建了一个功能,但它对我不起作用。我希望我的结帐/购物车网址应该是结帐/ winkelwagen请建议我该怎么办。
答案 0 :(得分:0)
我可能会以较少侵入性的方式使用Magento的事件观察系统来解决这个问题。您可以做的是将所有请求重定向到checkout/cart
路由到您的新路由checkout/winkelwagen
,如下所示:
<强>等/ config.xml中强>
<frontend>
<events>
<controller_action_predispatch_checkout_cart_index>
<observers>
<redirectCart>
<class>Ghrix_Newcart_Model_Observer</class>
<method>redirectCart</method>
</redirectCart>
</observers>
</controller_action_predispatch_checkout_cart_index>
</events>
</frontend>
<强>模型/ Observer.php 强>
public function redirectCart(Varien_Event_Observer $observer)
{
Mage::app()->getResponse()->setRedirect('/checkout/winkelwagen')->sendResponse();
exit;
}