如何在视图公开表单而不是'- Any -'
中显示表单项标签?更具体地说,我使用此代码将select的默认值文本替换为自定义文本,并希望该自定义文本成为该元素的标签:
function THEMENAME_form_views_exposed_form_alter(&$form, &$form_state) {
//dpm($form);
if ($form['#id'] == 'views-exposed-form-FORMID') {
$form['ITEMNAME']['#options']['All'] = t('My custom translatable text');
}
}
这适用于自定义文字。我想要的是使用简单的代码显示其标签而不是My custom translatable text
:
$form['ITEMNAME']['#options']['All'] = $form['ITEMNAME']['#name'];
但是在这些和类似的代码上没有运气。根据fo $ dpm($ form)输出'#name', '#title'
元素似乎根本不存在。
目标是拥有https://drupal.org/project/compact_forms或https://drupal.org/project/In-Field-Labels的类似功能而没有其他Javascript库(更喜欢使用几个PHP行,请不要使用JS解决方案)
答案 0 :(得分:2)
您的上述代码适用于选择字段但不适用于文本字段。如果您需要它来处理文本字段,可以试试这个
$form['ITEMNAME']['#attributes'] = array('placeholder' => array('My custom translatable text'));
或
$form['ITEMNAME']['#attributes'] = array('placeholder' =>$form['ITEMNAME']['#name']);
希望这可以帮助你