gpt4 book ai didi

drupal - 使用模板建议模式在 hook_theme() 中不起作用

转载 作者:行者123 更新时间:2023-12-02 06:34:31 26 4
gpt4 key购买 nike

我正在尝试实现模式和模板建议,但它不起作用。
这是使用我的模式实现的 hook_theme() :

$theme['nm_home_page_zone'] = array(
'pattern' => 'nm_home_page_zone__',
'arguments' => array('nodes_content' => array(), 'nodes' => array()),
'template' => 'zone-contenu',
),

我使用以下代码调用theme():

$output .= theme(array('nm_home_page_zone__'.$rowZone->model.'_'.$rowZone->weight, 'nm_home_page_zone__'.$rowZone->model, 'nm_home_page_zone'), array(), array());

我的主题和模块中有 2 个模板文件(zone-contenu.tpl.php 和 zone-contenu--one.tpl.php)(只是为了确定)。
在我的例子中,模式和模板建议应该使用 zone-contenu--one.tpl.php ,但它不起作用。

我在这里缺少什么?

最佳答案

我得到了答案(虽然很简单):模板文件必须命名为主题 Hook (键)
因此更改位于 hook_theme 中:

$theme['zone-contenu'] = array(
'pattern' => 'zone-contenu__',
'arguments' => array('nodes_content' => array(), 'nodes' => array()),
'template' => 'zone-contenu',
),


就是这样!你很擅长玩模式:)

请记住,您可以将动态模板与 theme() 和类似的字符串一起使用:

theme('zone_contenu__fun__here', $hello);

在此示例中,Drupal 将自动尝试查找 zone-contenu--fun--here.tpl.php,然后是 zone-contenu--fun.tpl.php,最后是 zone-contenu.php

如果你想控制建议的顺序,请给出一个像上面这样的数组(先进先出):

$output .= theme(array('nm_home_page_zone__'.$rowZone->model.'_'.$rowZone->weight, 'nm_home_page_zone__'.$rowZone->model, 'nm_home_page_zone'), array(), array());

希望这有帮助!

关于drupal - 使用模板建议模式在 hook_theme() 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7174887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com