1

カテゴリのナビゲーション メニューを含むヘッダーがあります。

このメニューはデータベースからのデータによって作成され、モデルを作成しました。これは、そのモデルのカテゴリ リストを返す関数です。

function categories_list()
  {
    $query=$this->db->get("produits_categories");
    if($query->num_rows()>0)
    {
      $i = 0;
      foreach($query->result() as $rows)
      {
        $items[$i] = $rows->title;
        $i++;
      }
      return $items;

問題は、ヘッダー ビューが他のコントローラーによって呼び出されるため、コントローラーを使用してデータをヘッダー ビューに渡す方法がわからないことです。

たとえば、ヘッダー ビュー、クライアント ビュー、フッター ビューをロードするクライアント コントローラーがあるため、データを渡す必要がある場合は、ヘッダーを使用するすべてのページで、カテゴリ コントローラーを呼び出してデータをヘッダー ビューに渡す必要があります。

データを直接ビューに渡す方法は他にありませんか?

4

2 に答える 2

2

コントローラーがビューを適用するとき、パラメーターを渡すことができます(セクション途中のビューへの動的データの追加を参照してください)。これは、あるレベルで取るべき適切なアプローチです。

哲学的には、メニューは表示されているページから完全に独立している可能性があります。その場合、コントローラーに毎回データを取得させるのではなく、ビューがそのデータを取得することが許容される場合があります。

于 2013-05-17T00:00:10.027 に答える
0

質問の一部については、次のようにデータをビューに直接渡すことができます。

$data = 'Some Data You Create';
$this->load->view('view_in_question', $data);

これは、データをビューに渡すための標準的な構文であり、通常は codeigniter で簡単に実行できます。これについて詳しく説明しているユーザー ガイドのセクションは次のとおりです。

http://ellislab.com/codeigniter/user-guide/general/views.html

于 2013-05-17T00:40:17.500 に答える