Префиксы полей CCK?

Как добавить префикс к текстовому полю? Например, у меня есть поле под названием «веб-сайт», которое в настоящее время отображается следующим образом:

website: ____________

Где _ — поле ввода. С помощью модуля «разметка поля» я могу добавлять префикс и суффикс, но они появляются ПОСЛЕ _ или перед частью веб-сайта. Мне нужно закончить с:

website: http:// ____________

Любые идеи, как это сделать?


person coderama    schedule 27.09.2009    source источник


Ответы (4)



Вы должны сделать это, используя механизм #after-build, чтобы CCK уже построил элементы формы.

<?php
function your_module_form_alter(&$form, &$form_state, $form_id) {
  $form['#after_build'][] = 'your_module_form_after_build_function';
}

function your_module_form_after_build_function($form, &$form_state) {
  $form['field_your_field_name'][0]['value']['#field_prefix'] = t('Example Prefix');
  $form['field_your_field_name'][0]['value']['#field_suffix'] = t('Example Suffix');
}
?>

Вам также может понадобиться настроить CSS, чтобы текстовое поле не очищалось (если вы хотите, чтобы ваш префикс или суффикс отображался в той же строке, что и текстовое поле).

См. #after-build в справочнике по API форм: http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6#after_build

person speedytwenty    schedule 24.02.2011
comment
Упс. Мой ответ специально для добавления префиксов или суффиксов в поля CCK, а не в обычные текстовые поля. - person speedytwenty; 24.02.2011

Также это позволяет сделать модуль Конструктор форм.

person Sean Bannister    schedule 08.10.2012

Вы можете сделать это с помощью модуля Simple Field Formatter, см. скриншот ниже.

введите здесь описание изображения

Что позволяет администраторам сайта легко контролировать отображение значений полей со следующими функциями.

  • Добавить значение поля с указанным текстом/HTML
  • Добавить значение поля с указанным текстом/HTML
  • Обратное значение поля
  • Обрезать значение поля
  • Преобразование значения поля в строчные буквы
  • Преобразование значения поля в заглавные буквы
  • Преобразование первого символа значения поля в верхний регистр
  • Преобразование первого символа каждого слова в значении поля в верхний регистр (7.x-1.x-dev)
  • Заменить некоторые символы на другие символы в значении поля (7.x-1.x-dev)
  • Связать значение поля с узлом (7.x-2.x-dev)
person Bala    schedule 06.09.2013