単一モジュールのモジュラー構造を作成すると、URL がコントローラーの名前に表示されなくなります。
すべてがデフォルトで動作します
site.con/foo/index/action/
のように書けばいいのに
site.com/foo/action/
IndexController であることは、そのモジュールの唯一のコントローラーです。
いくつかのソリューションをテストしましたが、うまくいきません。ZF の最初のアプリなので、取るべき手順がよくわかりません。
単一モジュールのモジュラー構造を作成すると、URL がコントローラーの名前に表示されなくなります。
すべてがデフォルトで動作します
site.con/foo/index/action/
のように書けばいいのに
site.com/foo/action/
IndexController であることは、そのモジュールの唯一のコントローラーです。
いくつかのソリューションをテストしましたが、うまくいきません。ZF の最初のアプリなので、取るべき手順がよくわかりません。
Zend Routesが必要です。
でルートを定義します
ブートストラップ.php
bootstrap.php を開き、次のように記述します。
function _initRoutes() {
$front_controller = Zend_Controller_Front::getInstance();
$router = $front_controller->getRouter();
$router->addRoute('foo-action', new Zend_Controller_Router_Route(
'<foo module name>/<action name>', array('module' => 'foo', 'controller' => 'index', 'action' => '<action-name>')
));
}
PS:働いた/働かなかった? コメントで言及し、うまくいかなかった場合は、モジュール、コントローラー、およびアクションの適切な名前を付けてください。
編集:
application.ini でデフォルトのコントローラー/モジュールを設定する方法
routes.index.type = "Zend_Controller_Router_Route"
routes.index.route = "/"
routes.index.defaults.module = "<module name>"
routes.index.defaults.controller = "index"
routes.index.defaults.action = "index"
解決しますか?