我在page_node_form上添加了一个字段,其中包含以下代码。
switch($form_id){
case 'page_node_form':
$form['comment_popup'] = array(
'#type' => 'select',
'#title' => t('Comments popup'),
'#options' => array('On' => 'On', 'Off' => 'Off'),
);
switch($form_id){
case 'page_node_form':
$form['comment_popup'] = array(
'#type' => 'select',
'#title' => t('Comments popup'),
'#options' => array('On' => 'On', 'Off' => 'Off'),
);
由于注释表单出现在节点上,所以我想当comment_popup字段的值为Off时,主题字段不应显示在注释表单中,并且当comment_popup字段的值为“On”时,主题字段应该显示。
我尝试了以下代码,但没有用。
}
case 'comment_node_page_form':
if($form_state['comment_popup']['#value'] == 'Off') {
$form['subject']['#access']=FALSE;
}
任何可以帮助我的人?
答案 0 :(得分:1)
你正在做什么是行不通的我害怕,你在一个表单中设置一个元素然后尝试从另一个没有意义的表单中读取它。
您需要做的是向page_node_form
函数添加一个提交处理程序,该函数将该节点的comment_popup
值保存到自定义表中。然后在`remark_node_page_form'的alter表单中,您需要读取该特定节点的comment_popup数据,并根据该数据对表单元素进行访问决策。
希望有所帮助