「コア」のファイル構造のように「ローカル」構造でファイルを作成すると、Magento はその変更を認識しません。なんで?他のファイルを変更する必要があるのでしょうか?を変更core/Mage/Cutomer/controllers/AcountController.php
し、変更したファイルを に入れましlocal/Mage/Cutomer/controllers/AcountController.php
たが、効果がありませんでした。
Magento は「コア」ファイルで動作します。
個人的には、カスタムモジュールを作成する方が良い方法だと思います。これは、「ModuleName」を説明として使用して、このモジュールがコアにどのような変更を加えるかを示し、他の開発者がコードを変更するのをはるかに簡単にすることができるためです。未来
app / code / local / MageIgniter / ModuleName / controllers / AcountController.php
<?php
require_once Mage::getModuleDir('controllers', 'Mage_Customer').DS.'AccountController.php';
class MageIgniter_ModuleName_AccountController extends Mage_Customer_AccountController{
}
app / code / local / MageIgniter / ModuleName / etc / config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<MageIgniter_ModuleName>
<version>0.0.1</version>
</MageIgniter_ModuleName>
</modules>
<frontend>
<routers>
<customer>
<args>
<modules>
<MageIgniter_ModuleName before="Mage_Customer">MageIgniter_ModuleName</MageIgniter_ModuleName>
</modules>
</args>
</customer>
</routers>
</frontend>
</config>
/app/etc/modules/MageIgniter_ModuleName.xml
<config>
<modules>
<MageIgniter_ModuleName>
<active>true</active>
<codePool>local</codePool>
</MageIgniter_ModuleName>
</modules>
</config>
続きを読む @
独自のモジュールを作成し、magento ロジックにフックするオブザーバーを記述します。
マジェントはコードプールを「コア」として取っていると思います。そのため、コアダイレクトでそのクラスを見つけ始めます。
したがって、ファイル app -> etc -> modules -> Mage_All.xml を変更して、次のように codepool を変更し、
<Mage_Customer>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Eav/>
<Mage_Dataflow/>
<Mage_Directory/>
</depends>
</Mage_Customer>