2012-05-08 34 views
3

我有大約6個不同的基團,例如A隊,B隊等。我想爲這些基團中的一個顯示的塊。正在考慮像檢查登錄用戶gid = X然後顯示該塊。這樣我可以設置6個不同的塊,全部針對不同的組,這樣當用戶登錄時,它會顯示相關的塊。那有意義嗎?我將如何實現它?的Drupal - 顯示一個塊爲特定用戶組

+1

您使用的是哪個版本的drupal核心? –

+0

對不起,我應該提到的是,需要它爲D7 – jamiez

回答

1

根據您的具體設置,它看起來像Context模塊可以幫助你。

下面介紹如何做到這一點。

  1. 創建6個不同的塊
  2. 下載並安裝語境模塊
  3. 創建的管理員/結構/背景下新的上下文/加
  4. 條件填寫基於一個部分我下面
  5. 選擇在反應填寫部分,選擇添加「塊」,然後選擇要顯示所選條件的確切塊。您可以顯示多個,因此請添加任何您想要顯示的內容。
  6. 爲每個組創建一個單獨的上下文(總共6個)。您可以爲每個組顯示多個塊。

創建新的上下文允許您僅顯示特定上下文的某些塊。實施例上下文表示僅某些頁面(經由路徑上下文)或只用於特定角色的用戶(經由用戶角色上下文)或甚至在某些節點類型上或在連接有一定術語頁塊,等

在你的情況,如果您使用的是有機組模塊來實現你的用戶羣體,上下文將與集成。這意味着當您創建您的上下文時,在「條件」部分下會有一個選項來選擇您想要顯示特定塊的有機組。您在「反應」部分中選擇想要顯示的確切塊。

讓我們知道,如果有幫助!

+0

嗨博利亞納,謝謝你的迴應。我知道上下文模塊,並且如果對於我的大多數站點使用,並且正在使用它進行此設置。 我在解決方案中看到的問題是,上下文不允許您選擇已創建的單個組,而只能選擇組類型。我需要針對每個單獨的小組。如果我錯了,事實上它可以做到這一點,那麼我的設置可能有問題,或者我錯過了一些東西,如果您有任何額外的信息對我有幫助,我會很高興。 謝謝 – jamiez

1

經過一個多研究一個星期,玩弄,我發現的代碼一點點修改了它下面我所需要的。

<?php 
    global $user; 
    $uid = $user->uid; 
    $result = db_query ("SELECT * FROM {og_membership} 
    WHERE etid = :uid 
    and entity_type = 'user' 
    order by gid DESC", array (':uid' => $uid)); 

    foreach ($result as $row) { 
    $gid = $row->gid; 
    break; 
    } 
?>  

<?php if ($gid == "GROUP ID HERE"): ?> 

(load block here) 

<?php endif; ?> 
相關問題