2011-03-08 4 views
2

私はコードネイターが比較的新しいので、複数のコントローラのデータを保存してアクセスする方法を理解するのに苦労しています。codeigniterで再利用可能なデータ配列を保存してアクセスする方法は?

私がビューに渡してフォームドロップダウンを作成するためのデータ配列を返す関数をcodeigniter内に作成する必要があります。以下

switch($type) { 
case 'text': 
$data = array (
       'equals'  => 'Equals', 
       'notequal'  => 'Does Not Equal', 
       'startswith' => 'Starts With', 
       'endswith'  => 'Ends With', 
       'contains'  => 'Contains', 
       'notcontain' => 'Does Not Contain', 
       ); 
break; 

case 'numeric': 

$data = array (
         'equals'  => 'Equals', 
         'notequal'  => 'Does Not Equal', 
         'less'   => 'Less Than', 
         'greater'  => 'Greater Than', 
         'equalless'  => 'Less Than Or Equal To', 
         'equalgreater' => 'Greater Than Or Equal To' 
         ); 

break; 

case 'date': 

$data = array (
         'equals'  => 'Equals', 
         'notequal'  => 'Does Not Equal', 
         'before'  => 'Before', 
         'after'   => 'After', 
         'equalbefore' => 'Before Or Equal To', 
         'equalafter' => 'After Or Equal To' 
         ); 
break; 
} 

関数で使用されるコードは、私は、次のコードを使用してフォームのドロップダウンメニューを作成するためにそれを使用してビューには、この関数から返されるデータの配列を渡すされています:

echo form_dropdown('conditions', $data); 

私はこれや他の何かのためのヘルパーを作成する必要があるかどうか分からないのですか?まだ、正確にあなたが達成しようとしているのかわからが、一般的には、過去に私がプロジェクト全体で何度も使用する必要があるドロップダウンコンテンツの

答えて

3

を探しているため

おかげで、私はA内の値が含まれていますヘルパー。このような

...

conditions_helper.php

<? if (! defined('BASEPATH')) exit('No direct script access allowed'); 

if (! function_exists('hotel_types_dropdown')) { 

    function date_dropdown_values() { 

     $data = array (
      'equals'  => 'Equals', 
      'notequal'  => 'Does Not Equal', 
      'before'  => 'Before', 
      'after'   => 'After', 
      'equalbefore' => 'Before Or Equal To', 
      'equalafter' => 'After Or Equal To' 
     ); 

     return $data; 
    } 

、あなたは、対応する関数名を使用して別のドロップダウンセットアップをフォーマットしていきます。

これをあなたのautoload.phpに追加したり、コントローラ内でロードしたりしてください。それをdate_dropdown_values()と呼ぶと、ドロップダウンリストで使用するための配列が返されます。

その後、あなたのコントローラで...

switch($type) { 
    case 'text': 
     $data->dropdown_values = text_dropdown_values(); 
     break; 

    case 'numeric': 
     $data->dropdown_values = numeric_dropdown_values(); 
     break; 

    case 'date': 
     $data->dropdown_values = date_dropdown_values(); 
     break; 
} 

$this->load->view('path/to/view', $data); 

そして、あなたのビューで

<?php echo form_dropdown('conditions', $dropdown_values); ?> 
+0

こんにちは、答えるために時間を割いてくれてありがとう。私はあなたの答えについての簡単な質問を持っています...私の関数の中ではなく、私のコントローラの中で 'スイッチ'を使用し、 '$ data = dropdown_values( 'numeric')を使ってヘルパー関数を呼び出すと、 '? –

+0

いいえ、私は実際にはほとんどそれを示唆していますが、それはすべてあなたの特定の使用法に基づいており、私はあなたのアプリの詳細についてはまだ少しはっきりしていませんでした。 – jondavidjohn

関連する問題