我有 page.tpl.php
上的链接列表,我想在节点上使用一个使用一个分类学术语ID的节点上显示一个链接显示。分类学术语ID是9。
ex。
<ul class="top-menu-new upper-menu-new">
<li> <a>NEWS</a> | </li>
<li> <a href="">BLOG</a> | </li>
<li> <a href="">FAQ</a> | </li>
<?php if the node is using taxonomy term id 9
<li><a href=">PRIVATE PAGE</a> </li>
<?php else: ?>
<li><a href="">PUBLIC PAGE</a> </li>
<?php endif; ?>
任何人可以帮忙吗?
谢谢!
在您的主题的template.php
中;使用template_preprocess_page(),您的代码应该看起来像
function [YOUR_THEME]_preprocess_page(&$vars)
{
if(isset($vars['node']))
{
$node = $vars['node'];
$nodeLanguage = "und"; // or use any language
if(isset($node->field_YOUR_FIELD_REFERENCE[$nodeLanguage]))
{
foreach($node->field_YOUR_FIELD[$nodeLanguage] as $key => $val)
{
if($val['tid'] == "9")
$vars['found_my_term'] = true;
}
}
}
}
然后,在您的页面模板中page.tpl.php
:
<?php if($found_my_term) { ?>
<li><a href=">PRIVATE PAGE</a> </li>
<?php } else { ?>
<li><a href="">PUBLIC PAGE</a> </li>
<?php } ?>
代码是要检查当前页面是否为node page
,然后检查node has your taxonomy field reference
(在此代码示例中,我使用field_YOUR_FIELD_REFERENCE
作为字段名称),最后检查它是否具有9
的值。
,如果是这样,则将结果存储在变量(我称为found_my_term
)中,以便您可以在页面模板中使用。