わかりました。Yiiにコントローラークラスがあり、デフォルトのビューフォルダーを使用する以外に別のビューフォルダーを使用したいと思います。
自然な動作は$this->render("<view file>");
、プロジェクト内のビューファイルをナビゲートするために以下を使用する場合です...
「//」はプロジェクトのデフォルトのビューフォルダをナビゲートします
「/」は現在のテーマビューフォルダをナビゲートします
または、コントローラーのデフォルトのビューフォルダーでビューを自動的に選択するために何も使用しないでください
しかし、私の問題は、ビューファイルではなく、特定のビューフォルダーのフォルダーにある静的ページをレンダリングしていることです。/pages
ナビゲートしたい静的ページは、現在のテーマフォルダービューにある静的ページですが、デフォルトでは、コントローラーが/protected/view
フォルダー内の静的ページをナビゲートします。
このオーバーライドも試して、コントローラーのビューフォルダーを変更しました。テーマフォルダーに静的ページをレンダリングしたいこのコードをコントローラーに配置します
public function init(){
$this->layout = "//layouts/script";
$this->viewPath = "/js";
}
ただし、問題はviewPathがreadOnly変数であるということです。
今私の質問は、現在のテーマのビューフォルダにある静的ページをどのようにレンダリングできるかということです。
注:私の質問を理解できない場合は、反対票を投じないでください。私はできる限りあなたのために私の問題を変えて説明することを開いています