Sign in to follow this  
cyklop77

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

Recommended Posts

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

в 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 вопроса, которые очень для меня важны. ответьте именно на них пожалуйста, люди добрые

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Member Statistics

    46,699
    Total Members
    3,128
    Most Online
    Dmitry3258
    Newest Member
    Dmitry3258
    Joined
  • Recently Browsing   0 members

    No registered users viewing this page.