0

私は自分のアプリケーションにcodeigniterを使用しており、ここに追加されたパッケージを使用してHMVCアプローチで開発しています。

https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc

ビュー用に作成したカスタムテンプレートがあり、コンテンツビューには次の行があります。

if ((!isset($page_view)) || (is_null($page_view)) || (!file_exists(APPPATH . 'views/backend/' .     $this->cms_template . '/cpanel/pages/' . $page_view . '.php')))
{
    $this->load->view('backend/' . $this->cms_template . '/cpanel/template/page_unknown_view');
}
else
{
    $this->load->view('backend/' . $this->cms_template . '/cpanel/pages/' . $page_view);
}

?>

これは、フォルダーにビューがある場合に機能しますが、このHMVCアプローチでは一部のビューが別のフォルダーにあるため、常に不明なページファイルとして表示されます。このアプローチで機能するように変更するにはどうすればよいですか。

編集:これをすべて言い換えてみましょう。これは私のファイルシステムです...

/application/views/backend/{templatename}/cpanel/index_view
/application/views/backend/{templatename}/cpanel/template/(header.php, footer.php, content.php)
/application/modules/users/controllers/users
/application/modules/users/views/users_view

ユーザーコントローラーが、3つのテンプレートページをロードするメインビューページとしてcpanelビューをロードするとします。ヘッダー、フッター、コンテンツページであること。コンテンツページ内で、上記のようにifステートメントを実行します。ロードするコントローラー固有のビューを見つける変数が送信されます。この場合、users_viewファイルをロードします。したがって、私のifステートメントでは、そのモジュールのフォルダーのどこかにファイルが存在するかどうかを確認する必要があります。

これはまったく役に立ちますか?

4

2 に答える 2

2

別のモジュール ビューにアクセスする場合は、次の方法でアクセスできます。

$this->load->view('module_name/view_file_name');

すべてのモジュールで必要な場合は、メイン ビュー、つまりアプリケーション ビューに配置することもできます

以下を使用して簡単にアクセスできます。

$this->load->view('view_file_name'); 

任意のモジュールから。

于 2013-01-16T07:57:43.370 に答える