我想开发一个模块,其输出是可视化的方式非常类似于视图模块,但我似乎无法得到它的工作。我跟着使用主题层(http://drupal.org/node/933976)并搜索了drupal论坛无济于事。Drupal 7动态主题
主题钩在hook_theme定义为
'beerxml_hop' => array (
'template' => 'beerxml-hop',
'render element' => 'beerxml',
'pattern' => 'beerxml_hop__',
'path' => drupal_get_path('module', 'beerxml_formatter') . '/templates',
)
我援引node--beer.tpl.php
由
print render($element);
主题钩(啤酒是内容的类型名称)其中$element
是一个渲染阵列#主题
array(3) {
[0] => string(19) "beerxml_hop__simcoe"
[1] => string(11) "beerxml_hop"
[2] => string(15) "beerxml_unknown"
}
获取invok ed是beerxml_hop
,而不是我所希望的beerxml_hop__simcoe
。 beerxml-hop--simcoe.tpl.php
和beerxml-unknown.tpl.php
与beerxml-hop.tpl.php
存在于相同的目录中,并且beerxml-unknown.tpl.php
在输出中的其他位置使用。
我错过了什么? :)
是的,我也认为有一些关于模式中的正则表达式。这是正常的PHP正则表达式语法吗? 但是,我无法得到上面的例子工作。查看Views模块的源代码,在主题钩子中没有正则表达式的标志。这是Views模块的钩子的一个例子: '$ hooks ['views_exposed_form'] = $ base + array( 'template'=>'views-exposed-form', 'pattern'=>'views_exposed_form__', 'render element'=>'form', );' – Thinner 2012-01-05 19:09:28