1
打破這是的示例代碼引用字段一個簡單的重新寫入:敏捷工具包4.2 ...引用字段類型與模型
class page_LoadResults extends Page {
function init(){
parent::init();
$p=$this;
$f=$p->add('Form');
$c=$p->add('Model_Season');
$f->addField('reference','Season')
->setValueList($c)
->validateNotNull()
->add('Icon',null,'after_field')
->set('arrows-left3')
->addStyle('cursor','pointer')
->js('click',$f->js()->reload())
;
調用時我得到一個錯誤信息:
\ atk4 \ lib中\窗體/ Field.php:652 [2]用htmlspecialchars()預計參數1是字符串,Field.php
foreach($this->getValueList() as $value=>$descr){
// Check if a separator is not needed identified with _separator<
$output.=
$this->getOption($value)
.htmlspecialchars($descr)
.$this->getTag('/option');
}
給出
綜觀代碼,圍繞線648陣列
確實很明顯是創建$ descr作爲($ value,descr)的一個數組。
這是一個bug還是我脫離基地。謝謝。
你有沒有測試過這個? 它不適用於表格模型。 類Form_Field_ValueList定義了只包含以下代碼的setModel()方法:$ this-> setValueList(array('foo','bar')); – 2012-05-14 17:06:36
它是getValueList()方法,然後對事物進行排序。 – jancha 2012-05-15 21:10:03
我不明白你的評論,setModel函數只是調用超級方法,然後將值列表設置爲foo,bar。下拉列表中不包含任何內容。 – 2012-05-16 13:23:41