сократите размер и максимальную длину вводимого текста с помощью открытых фильтров
Я использую 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" />
2
Author: eiji56.y1956, 2012-06-12
1 answers
Вы должны иметь возможность использовать обычный hook_form_alter и у вас уже есть отличный ответ, проверьте его, и он должен ответить на ваш вопрос.
2
Author: WestieUK, 2017-04-13 12:47:10