Drupal:检测是否正在使用某个.tpl文件的方法?

时间:2017-04-05 04:25:55

标签: php drupal drupal-7

我正在使用使用2个.tpl文件的模块的网站,例如:list.tplproduct.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-image.tpl上显示时修改product.tpl的输出。例如,类似于:

  

“如果我在product.tpl上使用,请执行此操作{...”

有人知道如何让product-image.tpl知道它正在使用什么.tpl吗?

1 个答案:

答案 0 :(得分:0)

我有点工作,但这不是最优雅的方式。

product.tpl上我向$ element数组添加了一个新元素:

<div id="product-images">
  <?php $element['productImage']['singleProd'] = true; ?>
  <?php print render($element['productImage']);
</div>

这使我能够在以后使用该阵列时发现差异。

所以,回到product-image.tpl

if (!empty($element['singleProd'])){
   //do the things needed for product.tpl
}
else {
  //do the things needed for list.tpl
}

如果有人知道更好的方式,我仍然会很高兴听到它。