これが私の質問です。ユーザーが自分でコンテンツを追加するサイトを開発しています。そのコンテンツは、db から抽出される ID および/またはエイリアスによって識別子を取得します。目標は、そのコンテンツを含むすべてのページのビューとコントローラーを作成することではありません。それらを求めるべきではありません。代わりに、適切なコンテンツを定義する URL 部分を取得する actionIndex() で URL を処理し、さらにそれをテンプレートにロードします。例えば:
メインセクションの製品があります。そのビューは
/ビュー/製品/index.php
コントローラーがあります:
ProductsController は Controller を拡張します
デフォルトのメソッド actionIndex() があります
したがって、次のような URL を取得すると、次のようになります。
/mysite/Products/some_product_alias
... actionIndex() で処理する必要があるため、404 ページに移動するのではなく、エイリアス "some_product_alias" によってデータを取得して製品テンプレートにロードします (/views/Products/index.php または別のページ)。同時に、サイトのメイン セクションであり、メイン メニューである静的ページの controller/actionMethod を定義する可能性を維持する必要がありました。つまり、動作するはずです。コントローラーで既存の actionMethod を見つけることができれば、それを呼び出すだけです。見つからない場合は、DB 内の URL から抽出されたエイリアスを探します。そこに存在する場合は、データを取得してテンプレートにロードします。確かに、このタスクは非常に扱いやすいですが、残念ながら私は Yii の初心者であり、まだその方法がわかりません :( 助けていただければ幸いです!