【问题标题】:How do I add CSS classes in "Content type > Manage Display >Table of files"?Drupal 8、9 - 内容类型 > 管理显示 > 文件表 => 如何添加 css 类?
【发布时间】:2022-01-24 14:14:31
【问题描述】:

在 Drupal 8 或 9 中,我可以在某些内容类型中创建一个名为 file 的新字段,例如在文章中。

然后对于管理显示中的这个新字段,我可以选择格式设置:文件表。

最后,我可以添加一个新页面(文章类型)并附加一些文件。 保存后,我有一个带有表格的页面。

我的问题:如何向这个表添加一个类?我知道我可以在 css 样式表中添加样式,但也许有一种方法可以将类直接添加到节点中的表中? 我的意思是节点不是视图。碰巧对于 View 我已经知道该怎么做。但我不知道如何为 Node 做到这一点

谢谢

好的

【问题讨论】:

    标签: drupal-8 drupal-9


    【解决方案1】:

    钩子在那里。如果要更新节点可渲染数组,可以使用预处理钩子:

    /**
      * Implements hook_preprocess_HOOK().
      */
    function my_theme_preprocess_node(&$variables) {
      /** @var \Drupal\node\Entity\Node $node */
      $node = $variables['node'];
    
      if ($node->bundle() == 'article'
        && $variables['view_mode'] == 'full') {
        // $variables['content']['files']['#attributes']['class'][] = 'your-class';
      }
    }
    

    在您的情况下,您想更新该字段,直接编辑该字段可能更简洁:

    /**
      * Implements hook_preprocess_field().
      */
    function your_theme_preprocess_field(&$variables, $hook) {
      $element = $variables['element'];
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-30
      相关资源
      最近更新 更多