私は2つのモジュール(デフォルトとモバイル)を持っていますが、モバイルモジュールはjqueryモバイルのデフォルトポータルを書き直したものですが、コントローラーとアクションははるかに少ないです! コントローラーとアクションがモジュール mobile に存在するかどうかを確認するコントローラー プラグインを作成することを考えました。そうでない場合は、モジュール mobile をデフォルトに上書きします。私はこれを試します:
public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
{
$dispatcher = Zend_Controller_Front::getInstance()->getDispatcher();
if ($request->getModuleName() == 'mobile') {
if (!$dispatcher->isDispatchable($request)) {
// Controller or action not exists
$request->setModuleName('default');
}
}
return $request;
}
しかし、アクションが存在しなくても$dispatcher->isDispatchable($request)
常に戻ります! true
:S と私は「アクションfoo
が存在せず、__call() にトラップされませんでした」を受け取ります
どのようにできるのか?ありがとう