管理我正在工作的網站的人員希望能夠決定哪些區塊放在哪裏。在Drupal中已經有了一個很好的界面(從下拉列表中選擇區域),但我想隱藏該用戶的某些塊。這些是他不應該走動的街區。用於網站管理員塊管理的Drupal模塊?
Afaik這是不可能通過權限。有沒有一個模塊允許細粒度控制什麼塊可以由誰來管理?我寧願不寫一個自定義界面...
感謝, 燕姿
管理我正在工作的網站的人員希望能夠決定哪些區塊放在哪裏。在Drupal中已經有了一個很好的界面(從下拉列表中選擇區域),但我想隱藏該用戶的某些塊。這些是他不應該走動的街區。用於網站管理員塊管理的Drupal模塊?
Afaik這是不可能通過權限。有沒有一個模塊允許細粒度控制什麼塊可以由誰來管理?我寧願不寫一個自定義界面...
感謝, 燕姿
採取這些區塊分佈的地區,並且將它們嵌入到你的模板使用module_invoke()
手動。
$block = module_invoke('module_name', 'block', 'view', 'block name or ID');
print '<h2>' . $block['subject'] . '</h2>';
print $block['content'];
也許給Blockqueue試試嗎?我從來沒有使用它,但它似乎涵蓋了你的用例。
嗯,你可以創建這樣一個簡單的自定義模塊(與您的自定義模塊的名稱替換my_module,很明顯):
function my_module_perm()
{
return array('view special blocks');
}
function my_module_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'block_admin_display_form') {
if(!user_access('view special blocks')) {
$special_blocks = array(); // Specially hidden blocks go here
foreach($special_blocks as $block) {
unset($form[$block]);
}
}
}
}
然後:
$special_blocks
陣列(它基本上是該塊的div的編號減去block_)access administration pages
和administer blocks
,但不應該有view special blocks
測試上的Drupal 6.6,應該對其他6.x的版本(也許5工作。 x有一些修改)
在D7中工作也...略有修改,因爲hoom_perm已成爲hook_permission;)謝謝! – SomethingOn
這將如何幫助網站管理員管理這些塊? – stef
對不起,我明白你的意思了:隱藏模板中的「不允許」塊,得到它。 如果有另一個選項ID喜歡聽到它,否則這是可以接受的答案 – stef