2012-08-02 66 views
0

創建自定義塊只是想知道,如果有可能不使用掛鉤hook_block_info)塊()或hook_block_configure(等創建在Drupal 7的自定義塊不使用Drupal的7塊鉤

我的要求是添加動態塊到Drupal系統。

在此先感謝...

+0

它也可能是一個靜態塊內的面板。或老派的內置頁框。 – 2012-08-02 16:23:26

回答

1

我不知道你的意思是通過創建「動態」塊,但兩種方式無需編寫模塊來創建塊

  1. 要管理/結構/塊,然後點擊'添加塊',然後在那裏手工創建一個...如果您在網站上啓用'Php過濾器'模塊,您甚至可以擁有包含php代碼的塊。
  2. 您可以創建塊視圖。轉到admin/structure/views/add並添加一個帶有塊顯示的視圖。不知道如果你熟悉Views module,但那是另一種方式的鄉親創建的節點內容列表塊,但也可以只包含文本等

是否回答你的問題?

===================編輯======================

如果你想以編程的方式做到這一點,看看塊模塊是如何做到的! 在Drupal 7中,這將是modules/block/block.admin.inc中的block_add_block_form_submit()函數。這是在上面#1中通過管理員窗體創建塊時處理表單的函數。您可以使用該代碼根據需要創建儘可能多的塊。請注意,它只是將所有必需的信息放入數據庫中,而無需調用任何附加功能。

+0

我想以編程方式創建一個塊,當我希望調用一個像block_hook那樣的函數時,它會根據塊標題,描述等參數調用塊。應該只在我調用這些函數時創建塊,而不是像block_hook。 這是否清除了事情? – 2012-08-03 07:08:11

+1

好的。現在我明白了。看看我在答覆中提供的附加信息。這應該讓你去... – 2012-08-03 16:14:05

0

好的,我實際上是在尋找動態創建一個塊。如果以後有人需要這個帖子,這篇文章可能會很有用:http://drupal.org/node/1709954

+0

是的,上面的建議是爲動態創建塊。本質上,我只是說你可以通過塊模塊本身來完成塊創建的方式(通過查看我建議的函數中的代碼)。當然,你可以在你的代碼中插入你想要的*任意位置並且完全動態地構建一個塊...即動態地。無論如何,我只是想澄清,如果我沒有說清楚。但是我很高興你找到了不止一種方式來做到這一點! – 2012-08-06 13:01:36