在我的网站中,当我点击addtocart按钮时,它会返回以下网址:
http://mywebsite.com/ajax/index/add/uenc/a...cC5uZXQvYXBwbGlhbmNlcy5odG1s/product/83/isAjax/1
但我需要下面的特定网址:
http://mywebsite.com/checkout/cart/add/uenc/a...cC5uZXQvYXBwbGlhbmNlcy5odG1s/product/83/isAjax/1
我可以知道在哪里编辑吗?
答案 0 :(得分:2)
当然,您可以在所有主题文件中更改它。
但是,如果您想要在站点范围内更改所有添加到购物车的行为,您可能需要扩展CartController并将添加操作转发到您自己的ajax模块。
一个例子:
应用程序/代码/本地/ MyCompany的/ AJAX /控制器/ CartController.php:
<?php
require_once 'Mage/Checkout/controllers/CartController.php';
class MyCompany_Ajax_CartController extends Mage_Checkout_CartController {
public function addAction() {
$this->_forward('add', 'index', 'ajax', $this->getRequest()->getParams());
}
}
应用程序/代码/本地/ MyCompany的/ AJAX的/ etc / config.xml中:
<?xml version="1.0"?>
<config>
[...]
<frontend>
<routers>
<checkout>
<args>
<modules>
<mycompany_ajax before="Mage_Checkout">MyCompany_Ajax</mycompany_ajax>
</modules>
</args>
</checkout>
</routers>
</frontend>
</config>
另一种方法是添加一个侦听controller_action_predispatch_checkout_cart_add事件并转发到那里的观察者。