2012-05-23 57 views
0

這裏公共變量是我的代碼片段:) 功能_ 結構({:笨庫班不工作

<?php 

if (!defined('BASEPATH')) { 
exit('No direct script access allowed'); 
} 

class sample{ 

function __construct() { 
    $this->ci = & get_instance(); 
    } 

public $name; 
public $style; 


function set_data($data) 
{ 
    /* List of parameters that you can set */ 

    $this->name = (isset($data['name']) ? $data['name']: ''); // Set select name 
    $this->style = (isset($data['style']) ? $data['style']: ''); // Set select style 

} 

function select_both_dropdown() 
{ 
    $select = '<select name="'.$this->name.'" class="chzn-select" style="'.$this->style.'">'; 
    $select .= '<option value=""></option>'; 
    $select .= '</select>'; 
return $select; 
} 

控制器:

$data['select'] = $this->sample->select_both_dropdown(array(
     'name' => 'eventselect', 
     'style' => 'min-width: 247px;' 
    )); 

它是如何被加載控制器 parent :: _construct(); $ this-> load-> library('tank_auth'); $ this-> load-> library('sample'); }

當在屏幕上選擇加載時,沒有填充任何東西,沒有名稱,沒有樣式等等。我在做什麼錯了?

回答

2

您需要正確引用它們;

在圖書館;

// as you have done 
$this->select = 'foo'; 

在你的控制器會是這樣$this->sample->name$this->sample->style

但是$選擇不是屬性或返回所以不會繳費。

更新 - 根據意見 控制器;

$this->sample->set_data(array(
     'name' => 'eventselect', 
     'style' => 'min-width: 247px;' 
    )); 
$data['select'] = $this->sample->select_both_dropdown(); 

另一個更新

function select_both_dropdown($data) 
{ 
    $this->set_data($data); 
    $select = '<select name="'.$this->name.'" class="chzn-select" style="'.$this->style.'">'; 
    $select .= '<option value=""></option>'; 
    $select .= '</select>'; 
return $select; 
} 

我會再更改set_data()私人而不是公衆。

+0

這是一個自定義庫,選擇菜單通過控制器傳遞的參數在庫中構建。 –

+0

然後根據Rooneyl所說的修改你的庫。 – Shomz

+0

$ select被返回到函數的外部 – Rooneyl