如何向文本字段添加前缀?例如,我有一个名为“网站”的字段,当前显示如下:
website: ____________
其中_ 是输入字段。使用“字段标记”模块,我可以添加前缀和后缀,但它们出现在 _ 之后或网站部分之前。我需要结束:
website: http:// ____________
任何想法如何做到这一点?
表单生成器模块也允许您执行此操作。
您可以使用Simple Field Formatter模块来完成,请参见下面的屏幕截图
它允许站点管理员通过以下功能轻松控制字段值的显示
- 在字段值前添加指定的文本/HTML
- 使用指定的文本/HTML 附加字段值
- 反转字段值
- 修剪字段值
- 将字段值转换为小写字母
- 将字段值转换为大写字母
- 将字段值的第一个字符转换为大写
- 将字段值中每个单词的第一个字符转换为大写(7.x-1.x-dev)
- 用字段值中的一些其他字符替换一些字符(7.x-1.x-dev)
- 将字段值链接到节点(7.x-2.x-dev)
您可以使用hook_form_alter
来修改文本字段的#field_prefix
(而不是#prefix
)。您还可以使用 CCK Link 模块提供适当的 URL 字段,根据需要添加 http:// 并验证 URL 的格式。
您必须使用“#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 以使文本字段不被清除(如果您希望前缀或后缀与文本字段出现在同一行)。
请参阅表单 api 参考中的#after-build:http: //api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6#after_build