美文网首页Drupal
Drupal 9 传值至twig模板中

Drupal 9 传值至twig模板中

作者: 又起风了_ | 来源:发表于2022-03-23 11:59 被阅读0次

自定义的参数想要传到twig模板中,需要在module或theme中创建相应的preprocess方法,例如:

function MODULE_NAME_preprocess_TEMPLATE(&$var) {
   $hello = 'world';//你要传递的值
   $var['hello'] = $hello;//twig中使用 {{ hello }}
}

或者

function THEME_NAME_preprocess_TEMPLATE(&$var) {
  //TODO 
}

注意:TEMPLATE为twig模板名,将所有短线- 修改为下划线_即可,如:有一个twig模板为 block--views-block--product-sub-nav-block-1.html.twig ,那么TEMPLATE 就应该修改为 block__views_block__product_sub_nav_block_1

传值至page.html.twig

/**
 * @param $var
 */
function THEME_NAME_preprocess_page(&$var)
{
    $parameters = \Drupal::routeMatch()->getParameters()->all();
    if (isset($parameters['taxonomy_term'])) {
        $term = $parameters['taxonomy_term'];
        if ($term->getVocabularyId() == 'tag') {
            $var['is_tag_taxonomy_term_page'] = TRUE;
        }
    }
}

传值至node.html.twig中

/**
 * @param $var
 */
function THEME_NAME_preprocess_node(&$var)
{
    $node = \Drupal::routeMatch()->getParameter('node');
    $var['id'] = $node->id();
}

传值至region.html.twig中

/**
 * @param $var
 */
function THEME_NAME_preprocess_region(&$var)
{
    if ($var['region'] == 'content') {
        $var['custom_variable'] = 'DEFAULT_VALUE';
    }
}

传值至block--views-block--product-sub-nav-block-1.html.twig中

function THEME_NAME_preprocess_block__views_block__product_sub_nav_block_1(&$var)
{
    $var['aya'] = 'cilicili';
}

相关文章

  • Drupal 9 传值至twig模板中

    自定义的参数想要传到twig模板中,需要在module或theme中创建相应的preprocess方法,例如: 或...

  • symfony模板

    symfony默认的模板是twig,这是一个便携,高效,安全的模板引擎。 Twig twig是非常简洁的php模板...

  • Twig和Medoo之 环境安装

    Twig 简介: Twig是一个快速、安全、灵活的PHP模板引擎。Twig被广泛运用于Web/PHP项目的开发,更...

  • twig模板的简单语法示例

    TWIG 模板的主要特征。 高效:Twig将模板编译成了优化了的PHP文件,与原生的PHP代码比较而言,性能损耗非...

  • october中的twig模板

    october中使用twig模板语言扩展为多个函数,标签,过滤器和变量。这些扩展允许您使用CMS功能并访问模板中的...

  • Laravel模板传值

    在TP框架中,模板传值的方式比较简单也很容易理解。Laravel的模板传值跟TP也有相似的地方。 新建一个控制器:...

  • drupal8 - 自定义theme工作流程

    模板引擎改为 Twig 使模板创建更简单,更安全。调试工具:DEVEL KNITsites/default/ser...

  • vue属性传值

    在一些后台模板中我们经常可以看到以下的传值形式: 一般的props接收传值直接用props:['item'...]...

  • 2019年怎样解耦Drupal

    我是使用Drupal内置的模板层构建网站,还是将Drupal的解耦或headless功能与JavaScript框架...

  • django模板处理换行

    某个字段需要换行传值 后台: 模板:

网友评论

    本文标题:Drupal 9 传值至twig模板中

    本文链接:https://www.haomeiwen.com/subject/reecjrtx.html