Я знаю основы создания тем на Drupal, когда дело доходит до шаблонов. Тем не менее, я понятия не имею, как изменить формы, которые используются на сайте.
Я использую Commerce Kickstart с темой Omega Kickstart. Есть несколько форм, таких как окно поиска или форма добавления в корзину.
Я провел небольшое исследование и придумал что-то подобное для моей темы template.php:
<?php
function mytheme_form_alter(&$form, &$form_state, $form_id){
if($form_id == "form_id") {
$form['form_id']['#title'] = t('Something');
}
}
Я попытался это, чтобы изменить заполнитель, который отображается в строке поиска:
<?php
function mytheme_form_alter(&$form, &$form_state, $form_id){
if($form_id == "edit_search_api_views_fulltext") {
$form['edit_search_api_views_fulltext']['#attributes']['placeholder']= t('Something');
}
}
я использовал edit_search_api_views_fulltext
потому что, когда я проверяю код сайта, он показывает мне id=edit-search-api-views-fulltext
, Однако, когда я использую модуль, который должен распечатывать идентификаторы форм на странице Drupal, он показывает мне что-то вроде id=views-exposed-form
который не работал и, кажется, не прав.
Итак, мой вопрос: как я могу получить доступ к этой форме и изменить то, что я хочу? И где вообще находится HTML этой формы? Я не смог найти его вообще.
function hook_form_alter(&$form, &$form_state, $form_id){
switch ($form_id)
case 'views_exposed_form':
switch ($form['#id']) {
case 'views-exposed-form-calendar':
$form['search-phrase']['#attributes']['placeholder'] = t('Search All Calendar');
break;
}
break;
}}
Вы должны проверить правильность $ form [‘# id’] при работе с ‘views -cted-form’
Других решений пока нет …