【问题标题】:CCK field prefixes?CCK 字段前缀?
【发布时间】:2009-09-27 21:37:23
【问题描述】:

如何为文本字段添加前缀?例如,我有一个名为“网站”的字段,当前显示如下:

website: ____________

其中 _ 是输入字段。使用“字段标记”模块,我可以添加前缀和后缀,但它们出现在 _ 之后或网站部分之前。我需要结束:

website: http:// ____________

任何想法如何做到这一点?

【问题讨论】:

    标签: drupal cck


    【解决方案1】:

    您可以使用hook_form_alter 修改文本字段的#field_prefix(而不是#prefix)。您还可以使用 CCK Link 模块来提供适当的 URL 字段,这将根据需要添加 http:// 并验证 URL 的格式。

    【讨论】:

    • 我确实使用CCK链接,但它没有在前面添加http?也许我应该升级我正在使用的版本。
    • 我不认为 LINK CCk 提供这个。现在将尝试您的其他建议。
    • Link CCK 字段没有把 http:// 放在前面,但它确实确保用户输入了一个有效的 URL。
    【解决方案2】:

    您必须使用“#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

    【讨论】:

    • 哎呀。我的答案是专门为 CCK 字段添加前缀或后缀,而不是常规文本字段。
    【解决方案3】:

    Form Builder 模块也允许您执行此操作。

    【讨论】:

      【解决方案4】:

      你可以用Simple Field Formatter 模块来做,见下面的截图

      这使网站管理员可以轻松控制 具有以下特征的字段值

      • 在字段值前添加指定的文本/HTML
      • 使用指定的文本/HTML 附加字段值
      • 反转字段值
      • 修剪字段值
      • 将字段值转换为小写字母
      • 将字段值转换为大写字母
      • 将字段值的第一个字符转换为大写
      • 将字段值中每个单词的第一个字符转换为大写(7.x-1.x-dev)
      • 将字段值中的某些字符替换为其他一些字符 (7.x-1.x-dev)
      • 将字段值链接到节点(7.x-2.x-dev)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多