簡體   English   中英

根據Drupal 7中的分類術語或ID打印鏈接

[英]Print a link based on the taxonomy term or id in Drupal 7

我在page.tpl.php上有一個鏈接列表,我想在使用一個分類術語ID的節點上顯示一個鏈接。 分類術語ID為9。

例如

<ul class="top-menu-new upper-menu-new">
<li> <a>NEWS</a>&nbsp;&nbsp;|&nbsp;&nbsp;  </li>
<li> <a href="">BLOG</a>&nbsp;&nbsp;|&nbsp;&nbsp;  </li>
<li> <a href="">FAQ</a>&nbsp;&nbsp; | &nbsp;&nbsp;</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結果存儲在變量中(我稱為found_my_term ),以便可以在頁面模板中使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM