сократите размер и максимальную длину вводимого текста с помощью открытых фильтров


Я использую Drupal-7.14 и подтему Omega. У меня есть представление о моем типе контента с открытыми фильтрами. При фокусировке входных тегов вывод HTML выглядит следующим образом:

<div class="view-filters">
  <form action="/searchedlist" method="get" id="views-exposed-form-searchedlist-page-1" accept-charset="UTF-8">
    <div>
      <div class="views-exposed-form">
         <div class="views-exposed-widgets clearfix">
            <div id="edit-field-bango-value-wrapper" class="views-exposed-widget views-widget-filter-field_bango_value">
              <label for="edit-field-bango-value"> BANGO </label>
                <div class="views-widget">
                  <div class="form-item form-type-textfield form-item-field-bango-value-min">
                    <input type="text" id="edit-field-bango-value-min" name="field_bango_value[min]" value="" size="30" maxlength="128" class="form-text" />
                  </div>
                  <div class="form-item form-type-textfield form-item-field-bango-value-max">
                    <label for="edit-field-bango-value-max">And </label>
                    <input type="text" id="edit-field-bango-value-max" name="field_bango_value[max]" value="" size="30" maxlength="128" class="form-text" />
                  </div>
                </div>
              </div>

Пожалуйста, покажите мне, как изменить размер входного текста с 30 до 10 и его максимальную длину со 128 до 20.

Для других начинающих людей

Я нашел решение.

# mkdir sites/all/modules/mymodule
# cd sites/all/modules/mymodule
# vi mymodule.info
# cat mymodule.info
name = mymodule
description = mymodule for dummy
package = mymodule
files[] = mymodule.module
version = "7.x-1.0"
core = "7.x"
# vi mymodule.module
# cat mymodule.module
<?php
function mymodule_form_alter(&$form, &$form_state, $form_id){
  if($form_id == "views_exposed_form"){
    //dsm($form); // print $form array on the top of the page
    if (isset($form['field_bango_value']['min']) && isset($form['field_bango_value']['max'])) {
      $form['field_bango_value']['min']['#size'] = '10';
      $form['field_bango_value']['max']['#size'] = '10';
      $form['field_bango_value']['min']['#maxlength'] = '20';
      $form['field_bango_value']['max']['#maxlength'] = '20';
    }
  }
}
# wget http://ftp.drupal.org/files/projects/devel-7.x-1.3.tar.gz
# tar xzf devel-7.x-1.3.tar.gz
# mv devel modules

Администратор > Модули

Установите флажки в mymodule и Devel, затем Сохраните.

Администратор > конфигурация > разработка > производительность

Очистить кэш.

Просмотр имени хоста/myview

Наконец, теги ввода HTML говорят:

<input type="text" id="edit-field-bango-value-min" name="field_bango_value[min]" value="" size="10" maxlength="20" class="form-text" />
<input type="text" id="edit-field-bango-value-max" name="field_bango_value[max]" value="" size="10" maxlength="20" class="form-text" />
Author: eiji56.y1956, 2012-06-12

1 answers

Вы должны иметь возможность использовать обычный hook_form_alter и у вас уже есть отличный ответ, проверьте его, и он должен ответить на ваш вопрос.

 2
Author: WestieUK, 2017-04-13 12:47:10