Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

cyklop77

fapi. индексы массива $form

Рекомендованные сообщения

помогите пожалуйста разобраться

в drupal 7 сразу после установки существует блок с формой поиска. код её примерно такой:


<form accept-charset="UTF-8" id="search-block-form" method="post" action="/drupals/d7_ubercart/">
<div>
<div class="container-inline">
<h2 class="element-invisible">Форма поиска</h2>
<div class="form-item form-type-textfield form-item-search-block-form">
<label for="edit-search-block-form--2" class="element-invisible">Найти </label>
<input type="text" class="form-text" maxlength="128" size="15" value="" name="search_block_form" id="edit-search-block-form--2" title="Введите ключевые слова для поиска.">
</div>
<div id="edit-actions" class="form-actions form-wrapper"><input type="submit" class="form-submit" value="Найти" name="op" id="edit-submit"></div><input type="hidden" value="form-L2mtv78lupETXpFEzrSbnVMrb54rR4O91uwSJ2Y0FpY" name="form_build_id">
<input type="hidden" value="x03xcoW_WZxsoGEiKEMTCmgD-4pgYrOJAXIgn-KMGQc" name="form_token">
<input type="hidden" value="search_block_form" name="form_id">
</div>
</div>
</form>

я изменяю эту форму через function themenabe_form_alter(&$form, &$form_state, $form_id) {}. то есть в массив(объект) $form добавляю новые элементы(свойства).

проблема в том, что я не понимаю структуру этого массива(даже после вывода его через php-функцию print_r()). например я прописываю в template.php следующее:


function surma_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'search_block_form') {
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submitttt'),
);
}
}

в результате надпись на кнопке добавления формы меняется. ок. но непонятно что означает индекы 'submit'. откуда он? если это type кнопки отправки формы, то существует неоднозначность. как например тогда идентифицировать поля текстовые input, ведь их может быть несколько и тип у них соответственно один и тот же.

непонятно даже как обратиться к единственному полю, которое сейчас есть в форме поиска и добавить например класс qwe

ps

в последних двух пунктах есть 2 вопроса, которые очень для меня важны. ответьте именно на них пожалуйста, люди добрые

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах