在模板方面,我有点了解Drupal主题的基础知识。但是,我不知道如何更改网站上使用的表单。
我正在使用具有Omega Kickstart主题的Commerce 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的模块时,它会向我显示id=views-exposed-form
之类的东西,它不起作用,也似乎不对。
所以我的问题是如何访问该表单并更改我想要的内容?该表单的HTML甚至位于何处?我根本找不到它。
答案 0 :(得分:0)
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;
}}
You have to check correct $form['#id'] when you working with 'views-exposed-form'