オンライン注文のすべてを処理する「olo」というモジュールがあります。
ここで、「olosec」という新しいモジュールを作成しました。これは、フローを少し変更した別のバージョンを作成し、一部のコントローラーでその他の変更を加えたいからです。
「olo」のコントローラーで「olosec」のコントローラーを拡張することは可能ですか?
今のところ私は試しました
class Olosec_CartController extends Olo_CartController
次のようなエラーがスローされます
Warning: include_once(Olo/CartController.php): failed to open stream:
No such file or directory in /httpdocs/library/Zend/Loader.php on line 146 Warning:
include_once(): Failed opening 'Olo/CartController.php' for inclusion.
bla bla bla (include path) bla bla bla
私のディレクトリ構造は次のようなものです(感謝tree \F \A
とEditPlus++)
+---application
| +---views
| | +---scripts
| | +---layouts
| | | +---default
| | | +---admin
| | +---languages
| | +---helpers
| +---modules
| | +---admin
| | +---mobile
| | +---olo
| | | +---controllers
| | | IndexController.php
| | | MenuController.php
| | | CartController.php
| | | OrderlistController.php
| | | |
| | | +---models
| | | \---views
| | | +---helpers
| | | \---scripts
| | | +---index
| | | +---menu
| | | +---cart
| | | \---orderlist
| | \---olosec
| | +---controllers
| | | IndexController.php
| | | MenuController.php
| | | CartController.php
| | | OrderlistController.php
| | |
| | +---models
| | \---views
| | +---helpers
| | \---scripts
| | +---index
| | +---menu
| | +---cart
| | \---orderlist
| +---models
| +---controllers
| \---configs
+---library
+---public
| +---cli
| \---default
+---tests
\---data
アップデート
私はこの「厄介な」ハックを使用しました
require_once( APPLICATION_PATH . '/modules/olo/controllers/CartController.php');
更新 @ Rakesh
私はブートストラップにこれを持っています..
function _initAutoloader() {
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);
return $autoloader;
}
私のapplication.iniで
autoloadernamespaces.0 = "Zend"
autoloadernamespaces.1 = "My"
autoloadernamespaces.2 = "Something"