2010-04-20 64 views
2

我製作了一個名爲node-mynode.tpl.php的自定義模板 每當請求輸入類型爲mynode的節點時,就會自動使用node-mynode.tpl.php 。Drupal:爲特定內容類型分配塊

但是,現在用戶希望在這種情況下看到特定的菜單塊。

問題: 如何將塊分配給特定的內容類型?

提示:我已經開始查看Pathauto的URL別名。 我懷疑一個解決方案可能在於這個方向。

回答

1

給所有mynode類型的節點與/mynode開始,使用頁面特定可見性設置爲塊,只顯示在與/mynode/*啓動網頁自動別名。

+0

太棒了! ! ! ! – bert 2010-04-20 20:52:45

+0

...但不實用..我現在有超過500個這種類型的節點,還有數百個節點來。還有另一種方法嗎? – bert 2010-04-20 21:34:50

+0

爲什麼它不實際?您可以刪除您爲節點設置的任何url別名,然後使用路徑替換模式一次批量生成所有這些別名。通常像'mynode/[title-raw]'。 – Finbarr 2010-04-20 22:51:39

7

在Drupal 6中,您可以配置塊的可見性設置。點擊管理員後端的塊旁邊的'configure'鏈接,然後按照以下步驟操作:

1)選擇'Show if the following PHP code returns TRUE(PHP-mode,expert only)''頁面特定的可見性設置'選項卡

2)輸入該檢查當前節點的節點類型,並相應返回TRUE下面的PHP代碼 -

<?php 
    if(arg(0) != 'node' || !is_numeric(arg(1))) 
    { return FALSE; 
    } 

    //load a fully-populated Drupal node object 
    $temp_node = node_load(arg(1)); 

    if($temp_node->type == 'mynode')  //check the node type 
    { return TRUE; //display block 
    } 
?> 

這應該工作....

+3

注意事項:自從Drupal 4.7以來,這一直是可能的。有關使用PHP進行塊可見性和大量代碼示例的更多信息,請參閱http://drupal.org/node/60317。 – marcvangend 2010-06-13 08:15:17

2

可以使用上下文模塊

相關問題