2013-08-01 57 views
0

林:PHP Zend框架形式顯示組使用Zend形式和顯示組與下面碼

$profile=new Zend_Form_Element_Select('profile'); 
$profile->setLabel('name of profile'); 
foreach ($Current_User_Profile['profiles'][0] as $pro) 
    $profile->addMultiOption($pro,$pro); 
$profile->setValue($Model_Port_Speed->Current_User_Profile($Current_User_Profile['my_user_id'], $Current_User_Profile['username'])); 

$Form_User_Settings->addDisplayGroup(array($profile), 'profile_change',array ('legend' => 'profile name here')); 
$profile_change = $Form_User_Settings->getDisplayGroup('profile_change'); 
$profile_change->setDecorators(array(
     'FormElements', 
     'Fieldset', 
     array('HtmlTag',array('tag'=>'div','style'=>'width:100%;float:right;')) 
)); 

我得到這個錯誤:

用於顯示組未指定有效的元素

問題在哪裏?

回答

2

元素的定義存在錯誤。此錯誤表示有你的顯示組中沒有的元素由您設置:

 $Form_User_Settings->addDisplayGroup(array($profile), 'profile_change',array ('legend' => 'profile name here')); 

應該是:

 $Form_User_Settings->addDisplayGroup(array('profile'), 'profile_change',array ('legend' => 'profile name here')); 
+1

@Abadis這個代碼將工作! – TomPHP

+0

不!我測試了這個code.did不起作用。問題在於,代碼在我自己的計算機上運行時出現錯誤,但在服務器上發生錯誤!實際上,在zend framework 1的最終子版本中,array('profile')和array($ profile)是相同的! – Abadis

+0

代碼是100%正確:)你確定代碼和服務器上的進一步配置是完全一樣的(沒有緩存結果,忘記上傳等),你確定錯誤是一樣的嗎? – RMK