我正在尝试在page.tpl.php中写一个if语句来说:
如果nodeid == 51, 52, 53
打印:
<div class="band main-content">
<?php print render($page['content']); ?>
</div>
另外打印:
<div class="band main-content">
<section class="layout">
<?php print render($page['content']); ?>
</section>
</div>
答案 0 :(得分:2)
我没有对此进行测试,但它应该有效:
<?php
if ($node) {
// Get the current node nid
$nid = $node->nid;
}
//now compare the current node id present in $nid with some node ids you desire that you can put in $desired_node
$desired_node = array(51,52,53); //enter your desired node ids
if (in_array($nid, $desired_node)){
print render($page['content']);
}
if (!in_array($nid, $desired_node)){ ;?>
<section class="layout">
<?php print render($page['content']); ?>
</section>
<?php } ;?>
答案 1 :(得分:1)
您正在寻找的条件是in_array($nid, array(51, 52, 53))
(或者您可以使用一堆逻辑OR)。
将所有这些放在一起产生:
<?php if(in_array($nid, array(51, 52, 53))): ?>
<div class="band main-content">
<?php print render($page['content']); ?>
</div>
<?php else: ?>
<div class="band main-content">
<section class="layout">
<?php print render($page['content']); ?>
</section>
</div>
<?php endif; ?>
另外,我不确定最终目标是什么,但我会对模板中的硬编码节点ID保持警惕。这绝对不是最好的做法。
答案 2 :(得分:0)
我不知道你怎么在$ nid中得到一个数组,而是应该调用一个用自定义模块编写的函数。该函数应该通过从URL中获取当前nid并返回TRUE为FALSE来检查当前nid。在任何情况下,(除了已知节点),您应该在自定义模块中定义的函数中添加逻辑。这有助于调试和增强。