上記を行いたいと思います。過去に多くのファイルをオーバーライドしました...ブロック、モデル、ヘルパー....しかし、これは私を逃します。
誰でも私がここで間違っていることを見ることができますか:(このコードを編集して...いくつかの推奨事項を含めるようにしました...)
Heres 私のフォルダー構造 (テストとして 2 つのコントローラーの場所):
/Idigital/Idgeneral/etc/config.xml
/Idigital/Idgeneral/controllers/Checkout/CartController.php
/Idigital/Idgeneral/controllers/CartController.php
ここに私のconfig.xmlがあります:
<?xml version="1.0"?>
<config>
<modules>
<idigital_idgeneral>
<version>0.1.0</version>
</idigital_idgeneral>
</modules>
<global>
<blocks>
<idgeneral><class>Idigital_Idgeneral_Block</class></idgeneral>
</blocks>
</global>
<frontend>
<routers>
<checkout>
<use>standard</use>
<args>
<modules>
<Idigital_Idgeneral before="Mage_Checkout">Idigital_Idgeneral_Checkout</Idigital_Idgeneral>
</modules>
</args>
</checkout>
</routers>
<layout>
<updates>
<idgeneral>
<file>idigital.xml</file>
</idgeneral>
</updates>
</layout>
</frontend>
</config>
テストするために、コントローラーファイルを2つの場所に配置しました。そして、私の FIRST コントローラ ファイルの先頭を以下に示します。
require_once 'Mage/Checkout/controllers/CartController.php';
class Idigital_Idgeneral_Checkout_CartController extends Mage_Checkout_CartController
{
public function testAction()
{
var_dump('inside checkout/cart/test');exit;
}
/**
* Add product to shopping cart action
*/
public function addAction()
{
blah...
}
私の2番目のコントローラーに答えてください:
require_once 'Mage/Checkout/controllers/CartController.php';
class Idigital_Idgeneral_CartController extends Mage_Checkout_CartController
{
public function testAction()
{
var_dump('inside cart/test');exit;
}
/**
* Add product to shopping cart action
*/
public function addAction()
{
blah...
}
私がアクセスしたとき: /checkout/cart/add 私は mage コントローラーに誘導されました...私のローカルではありません。(私はそれぞれにvar_dump stmtsを持っています..だから、どれが実行されたかを見ることができます)。
/checkout/cart/test にアクセスすると - 404 が表示されます /cart/add または cart/test にアクセスすると - idgeneral/cart/test または idgeneral/cart/add にアクセスすると 404 が表示されます - 404 が表示されます