You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drupal 10视图自定义文本字段如何显示翻译后的字段标签?

解决Drupal 10 Views自定义文本中显示翻译后字段标签的方法

方法一:使用Token模块(推荐)

  1. 确保已启用Token模块(Drupal核心自带,未启用可从扩展页面开启)。

  2. 在Views自定义文本字段中,把硬编码标签替换为对应字段的Token:

    • Location: 替换为 [node:field_region:label]
    • Path Length: 替换为 [node:field_path_length:label]
    • Activities: 替换为 [node:field_nature_activities:label]

    修改后的代码如下:

    <div class="col-sm-12 teaser-wrapper">
        <div class="teaser-image">{{ field_image }}</div>
        <div class="teaser-header">{{ title }}</div>
        <div class="teaser-text">{{ body }}</div>
        <div class="row teaser-field">
            <div class="col-xs-12 col-sm-12 teaser-field">
                    <span class="lbl">[node:field_region:label]: </span>
                    <span class="val">{{ field_region }}</span>
            </div>
            <div class="col-xs-12 col-sm-12 teaser-field">
                    <span class="lbl">[node:field_path_length:label]: </span>
                    <span class="val">{{ field_path_length }}</span>
            </div>
            <div class="col-xs-12 col-sm-12 teaser-field">
                    <span class="lbl">[node:field_nature_activities:label]: </span>
                    <span class="val">{{ field_nature_activities }}</span>
            </div>
        </div>
    </div>
    
  3. 保存视图设置,切换语言即可看到对应翻译的字段标签。

方法二:不依赖额外模块,通过Views字段变量调用

  1. 在Views的「字段」列表中,添加需要显示标签的字段(如field_region、field_path_length等)。

  2. 对每个添加的字段进行设置:

    • 勾选「排除显示」(字段内容不会单独展示,仅用于自定义文本调用)。
    • 将「标签」设置为默认(使用内容类型中已翻译的字段标签)。
  3. 在自定义文本字段中,用{{ field_region__label }}这类变量替换硬编码标签:

    • Location: 替换为 {{ field_region__label }}
    • Path Length: 替换为 {{ field_path_length__label }}
    • Activities: 替换为 {{ field_nature_activities__label }}

    修改后的代码示例:

    <div class="col-sm-12 teaser-wrapper">
        <div class="teaser-image">{{ field_image }}</div>
        <div class="teaser-header">{{ title }}</div>
        <div class="teaser-text">{{ body }}</div>
        <div class="row teaser-field">
            <div class="col-xs-12 col-sm-12 teaser-field">
                    <span class="lbl">{{ field_region__label }}: </span>
                    <span class="val">{{ field_region }}</span>
            </div>
            <div class="col-xs-12 col-sm-12 teaser-field">
                    <span class="lbl">{{ field_path_length__label }}: </span>
                    <span class="val">{{ field_path_length }}</span>
            </div>
            <div class="col-xs-12 col-sm-12 teaser-field">
                    <span class="lbl">{{ field_nature_activities__label }}: </span>
                    <span class="val">{{ field_nature_activities }}</span>
            </div>
        </div>
    </div>
    
  4. 保存视图,切换语言就能看到翻译后的标签。

方法三:使用预处理函数(适合开发者)

如果需要更灵活的控制,可通过主题预处理函数修改Views变量:

  1. 在主题的.theme文件中添加代码:
    function YOUR_THEME_preprocess_views_view_field(&$variables) {
        $field = $variables['field'];
        // 针对目标视图和字段添加翻译标签变量
        if ($variables['view']->id() == 'YOUR_VIEW_ID' && in_array($field->field, ['field_region', 'field_path_length', 'field_nature_activities'])) {
            $variables[$field->field . '_translated_label'] = $field->label();
        }
    }
    
  2. 替换YOUR_THEME为主题机器名,YOUR_VIEW_ID为目标视图的机器名。
  3. 在自定义文本中用{{ field_region_translated_label }}这类变量调用翻译标签。

内容的提问来源于stack exchange,提问作者thanili

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 02:01:29