Создал поле типа Date, на форме редактирования оно отображается в рамке, будто это Fieldset.
Может есть у кого идеи как это убрать? Бо выглядит неэстетично и ломает вёрстку если использовать Display Suite. Пробовал менять виджет, лазил по настройкам, даже пробовал запихивать в другой филдсет - не помогает, рисуется рамка.
Комментарии
Скорее всего через CSS мона.
Вот кусок кода с теми двумя полями что на скриншоте. Явно видно что для даты добавлен филдсет с заголовками. Понятное дело что можно сделать костыль и скрыть это безобразие при помощи CSS, но неужели нет возможности просто сказать ему не создавать этот никому не нужный филдсет? Может кто сталкивался?
<label for="edit-field-contragent-und">Контрагент <span class="form-required" title="Обязательно для заполнения.">*</span></label>
<input type="text" id="edit-field-contragent-und" name="field_contragent[und]" value="" size="60" maxlength="1024" class="form-text required form-autocomplete" />
<input type="hidden" id="edit-field-contragent-und-autocomplete" value="http://buh.ibs/ru/taxonomy/autocomplete/field_contragent" disabled="disabled" class="autocomplete" />
<div class="description">Укажите контрагента, которому выписывается документ</div>
</div>
<div class="field-type-datetime field-name-field-date field-widget-date-popup form-wrapper" id="edit-field-date"><div id="field-date-add-more-wrapper"><fieldset class="form-wrapper">
<legend><span class="fieldset-legend">Дата </span></legend>
<div class="fieldset-wrapper">
<div class="date-no-float container-inline-date">
<div class="form-item form-type-date-popup form-item-field-date-und-0-value">
<div id="edit-field-date-und-0-value" class="date-padding"><div class="form-item form-type-textfield form-item-field-date-und-0-value-date">
<input class="date-clear form-text" type="text" id="edit-field-date-und-0-value-datepicker-popup-0" name="field_date[und][0][value][date]" value="13.03.2012" size="20" maxlength="30" />
<div class="description"> Например: 13.03.2012</div>
</div>
</div>
<div class="description">Укажите дату документа</div>
</div>
</div>
</div>
В файле date.theme в конце есть функция theme_date_combo со следующим содержанием:
<?php
// Group start/end items together in fieldset.
/**
* Returns HTML for a start/end date combination on form.
*/
function theme_date_combo($variables) {
$element = $variables['element'];
$field = field_info_field($element['#field_name']);
$instance = field_info_instance($element['#entity_type'], $element['#field_name'], $element['#bundle']);
$fieldset = array(
'#title' => t($element['#title']) . ' ' . ($element['#delta'] > 0 ? intval($element['#delta'] + 1) : ''),
'#value' => '',
'#description' => !empty($element['#fieldset_description']) ? $element['#fieldset_description'] : '',
'#attributes' => array(),
'#children' => $element['#children'],
);
return theme('fieldset', array('element' => $fieldset));
}
?>
Чтобы избавиться от назойливой рамки, в своём файле темы template.php можно переопределить эту функцию YOURTHEME_date_combo, изменив только последнюю строчку на
<?php
return theme('form_element', array('element' => $fieldset));
?>
Если идея ясна, то можно играть, подставляя вместо fieldset всякие другие варианты, которые подходят к оформлению (см. Form API). Так же полезно посмотреть файл date_api/theme/theme.inc - их можно так же переопределить и менять отдельные поля и их свойства.
После выбора подходящего типа элемента формы допиливаем с помощью css.