【问题标题】:Acces raw data in Drupal 8 view template在 Drupal 8 视图模板中访问原始数据
【发布时间】:2016-05-05 19:13:55
【问题描述】:

在视图模块 (views-view-field.html.twig) 的覆盖模板中,我正在尝试访问字段的原始数据。

在doc文件中,我们可以读到:

 * Available variables:
...
 * - fields: A list of fields, each one contains:
...
 *   - raw: The raw data for the field, if it exists. This is NOT output safe.
...

但它总是空的。

{{ dump(fields.field_myfieldname) }}

打印对象(stdClass)[1899] ...

{{ dump(fields.field_myfieldname.raw) }}

打印空

我希望 raw 从字段的值构建文件路径。

为什么它是空的? 还有其他方法可以在我的模板中获取字段的原始数据吗?

编辑: 我正在尝试做这样的事情:

 <img src="/path/to/image/{{ fields.title.raw | escape('uri')}}.jpg" /> 

为什么这么难?

【问题讨论】:

    标签: drupal view twig drupal-8


    【解决方案1】:

    您应该预处理数据,然后在 twig 文件中引用新变量,而不是在 twig 文件中构建内容。

    例如,如果您的自定义主题名为 mytheme,那么在您的 mytheme.theme 文件中,添加以下函数

    function mytheme_preprocess_field(&$variables, $hook) {
    
      if( $variables['field_name'] === 'field_myfieldname') {
    
        // manipulate the data and return it in a variable.
    
        $data = $variables['items'][0]['content']['#context']['value'];
    
        $variables['customfield'] = "Whatever you want, can be HTML";
    
        }
    }
    

    然后在你的 field--node--field-myfieldname.html.twig 文件中,调用你的新变量

    {{ customfield }}
    

    如果您要返回 html,请像这样调用您的新变量

    {{ customfield|raw }}
    

    【讨论】:

      猜你喜欢
      • 2017-02-27
      • 1970-01-01
      • 1970-01-01
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 2018-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多