Как я могу отредактировать форму поиска?
У меня установлен дистрибутив OpenAtrium на Drupal 6. Как вы, возможно, уже знаете, OpenAtrium уже реализует функцию поиска. Что я хотел бы сделать, так это изменить следующую форму:
Добавив еще одну кнопку рядом с кнопкой поиска (есть и другие изменения, которые я хотел бы сделать, но это не имеет значения, это просто конечная цель).
Проблема в том, что я не знаю, какая страница PHP создает эту форму. Все, что я знаю, это то, что page.header.inc печатает содержимое этой формы:
...
<div id='space-tools'><div class='dropdown-blocks toggle-blocks clear-block'><?php print $space_tools ?></div></div>
...
Как вы можете себе представить, $space_tools содержит все меню, а также форму. Но кто тот, кто создает переменную $space_tools? Есть ли API OpenAtrium, который я могу где-нибудь прочитать?
Это результат HTML, который я хотел бы изменить:
<div id="space-tools"><div class="dropdown-blocks toggle-blocks clear-block processed">
<form action="/openatrium/XXXXXX/" accept-charset="UTF-8" method="post" id="atrium-search-form">
<div>
<div class="form-item form-item-labeled" id="edit-search-wrapper">
<label for="edit-search">Search XXXXXXX: <span class="form-required" title="This field is required.">*</span></label>
<input type="text" maxlength="128" name="search" id="edit-search" value="" class="form-text required fluid">
</div>
<input type="submit" name="op" id="edit-submit" value="Search" class="form-submit">
<input type="hidden" name="form_build_id" id="form-31ea0a19166f0619050f7ac923ebf331" value="form-31ea0a19166f0619050f7ac923ebf331">
<input type="hidden" name="form_token" id="edit-atrium-search-form-form-token" value="aaf2e5374720acee5769fcafb6421e35">
<input type="hidden" name="form_id" id="edit-atrium-search-form" value="atrium_search_form">
</div>
</form>
Спасибо. Чуть не забыл, здесь, где я работаю, imgur заблокирован прокси-сервером, поэтому я не могу сказать, было ли загружено изображение или нет.
РЕДАКТИРОВАТЬ: Это сводя меня с ума, я просмотрел всю папку OpenAtrium в поисках слова "атриум-форма поиска", но внутри файлов не было никакого результата. Как это вообще возможно, лол? Если идентификатор не построен на разных переменных, в этом случае я не знаю, что делать...
1 answers
Он отображается с помощью модуля Контекста. Я нашел это так:
- Перейдите к
admin/build/context
и выберите контекстglobal
- Нажмите
Blocks
реакция - В области
Space tools
отображается блокAtrium: Search form
- Нажмите
Затем я искал имя Atrium: Search form
и обнаружил, что блок определен в модуле atrium_features
, в функциях atrium_block
и atrium_search_form
файла atrium/atrium.module
.
Вы можете изменить форму поиска с помощью крючка hook_form_FORM_ID_alter
, например hook_form_atrium_search_form_alter
.