SiteController以外のすべてのモデルとコントローラをモジュールとして設定する必要があります。私は単純なビューを動作させることに成功しましたが、他のコントローラのアクションで回避することはできません。yii2コントローラの代わりにモジュールのルート設定
私が話している何を詳述すると、ルートは次のようにする必要があります:彼らが必要として
example.com => app/site/index
example.com/page => app/modules/page/default/index
example.com/page/<slug> => app/modules/page/default/view/<slug>
example.com/submit/1 => app/modules/page/default/submit/1
最初の3つが働いているが、何以下について?現在urlManager
は:
'urlManager' => [
'class' => 'yii\web\UrlManager',
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => [
'<module:\w+>/<action:\w+>' => '<module>/default/<action>/view',
'<module:\w+>/<controller:\w+>' => '<module>/<controller>/index',
'<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',
'<module:\w+>/<controller:\w+>/<action:\w+>/<id:\w+>' => '<module>/<controller>/<action>/view',
],
],
ありがとうございます!
で設定を尊重し、URLが生成され、このようにUrlHelpers
を使用していませんそのようなモデルとコントローラーの場合、追加の 'default'コントローラーパラメーターがURLに必要です。私はURLからその部分を失いたいです。さらに、現在、かなりのURLが表示されていません。たとえば、 'site.com/module/controller/action?id = 1'は動作していますが、' site.com/module/controller/action/1'は動作しません。何か案は? – jeesus
あなたのurlManager設定をconfig/main.phpコンポーネントに投稿してください。 – scaisEdge
元の投稿を更新しました。または、各モジュール設定に追加のルーティングルールを追加する必要がありますか? – jeesus