主题表:哪个是正确的ID?

时间:2017-09-27 06:50:18

标签: php forms drupal drupal-7 theming

在模板方面,我有点了解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甚至位于何处?我根本找不到它。

1 个答案:

答案 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'