Php Drupal:检测是否正在使用某个.tpl文件的方法?
我在一个使用2.tpl文件的模块的网站上工作,例如:Php Drupal:检测是否正在使用某个.tpl文件的方法?,php,drupal,drupal-7,Php,Drupal,Drupal 7,我在一个使用2.tpl文件的模块的网站上工作,例如:list.tpl和product.tpl。第三个.tpl文件,product image.tpl,在这些文件中使用,并通过渲染函数调用,例如: 在list.tpl上: <div id="list-images"> <?php print render($element['productImage']);?> </div> 在product.tpl上: <div id="product-imag
list.tpl
和product.tpl
。第三个.tpl文件,product image.tpl
,在这些文件中使用,并通过渲染函数调用,例如:
在list.tpl上:
<div id="list-images">
<?php print render($element['productImage']);?>
</div>
在product.tpl上:
<div id="product-images">
<?php print render($element['productImage']);?>
</div>
我想修改product.tpl
上显示的product.tpl
的输出。例如,以下内容:
“如果我被用于product.tpl,请执行此操作{…”
有谁知道有一种方法可以拥有
产品形象。第三方物流
知道它被用于什么。第三方物流吗?我有点能做到这一点,但这不是最优雅的方法
在product.tpl
上,我向$element数组添加了一个新的elemet:
<div id="product-images">
<?php $element['productImage']['singleProd'] = true; ?>
<?php print render($element['productImage']);
</div>
如果有人知道更好的方法,我还是会很高兴听到的。我对drupal不太了解,但你能简单地将
@mkaatman添加到哪里吗,对不起?这些模板中的任何地方。@mkaatman,啊,所有模板都可以工作-那很好。我只想区分product.tpl
在product.tpl@MeltingDog我认为您可以使用render函数将变量传递给模板,然后使用产品图像模板中的变量来调节输出。在Drupal中,模板具有预处理函数,用于设置发送到模板的变量。逻辑是指在预处理函数中完成,以使模板保持php/logic的ree。Drupal 7使用phptemplate时并不强制使用它,Drupal 8使用twig时则是另一回事。如果您想查看正在使用哪些模板,只需将$conf['theme\u debug']=TRUE;
添加到您的settings.php中,就会在html中输出注释,显示使用了哪些模板文件。
if (!empty($element['singleProd'])){
//do the things needed for product.tpl
}
else {
//do the things needed for list.tpl
}