【问题标题】:Block Template per region hook suggestion每个区域挂钩建议的块模板
【发布时间】:2016-04-30 06:03:34
【问题描述】:

我注意到团队已经删除了 block--[region].twig.html 用于 block 的模板钩子。 https://www.drupal.org/node/1968360

但是,我有一个从 D7 迁移的站点并经常使用该模板。

我是一名前端开发人员,所以我没有任何编写自定义主题钩子的经验,是否有任何主题钩子可以用来制作区域模板?

【问题讨论】:

    标签: drupal drupal-theming drupal-8 drupal-blocks


    【解决方案1】:

    将此代码添加到您的 THEMENAME.theme 文件中:

    function THEMENAME_theme_suggestions_block_alter(array &$suggestions, array   $variables) {
    
      if (!empty($variables['elements']['#id'])) {
        $block = Block::load($variables['elements']['#id']);
        $suggestions[] = 'block__' . $block->getRegion();
        $suggestions[] = 'block__' . $block->getRegion() . '__' . $variables['elements']['#id'];
      } else if (isset($variables['elements']['#configuration']['region'])) {
        $suggestions[] = 'block__page_' . $variables['elements']['#configuration']['region'];
        $suggestions[] = 'block__page_' . $variables['elements']['#configuration']['region'] . '__' . end(explode(':', $variables['elements']['#plugin_id']));
      }
      return $suggestions;
    }
    

    找到了这段代码,不过补充一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多