我有一個約20頁的Drupal 6網站。在每個頁面內部,我需要創建大量小部件,這些小部件的信息既可以存儲在數據庫中,也可以存儲在外部Web服務中。大多數時候,「觀點」(來自the view module)僅僅不足以解決這一要求。到目前爲止,任何時候我需要這樣一個小部件,我創建一個實現hook_block的新模塊。然後,將這個新模塊拖放到我想要的面板內。我將需要創建約20個模塊。這工作很好。但是,我不確定這是否是正確的drupal策略,我很樂意從經驗豐富的Drupal開發人員處獲得一些反饋。Drupal 6 - 爲每個動態信息塊創建一個模塊?
1
A
回答
3
模塊可以根據需要顯示儘可能多的塊(理論上,admin/build/blocks會教你另外;))。
看看hook_block()的文檔,你只需要擴展你的返回多塊信息,然後根據$ delta決定顯示哪一個。
所以你不需要20個獨立的模塊,也許2-3個模塊以某種方式組合在一起,因爲只有一個模塊可能難以維護。問題是,每一個模塊都會讓你的站點慢一點(至少要加載一個文件,module_implements()需要遍歷每個模塊的每個模塊,等等)。
沒有更多的信息,很難給出任何更好的建議。也許你可以公開你的數據到視圖,或者寫一個視圖插件以你想要的方式顯示它,或者...
2
雖然Berdir的回答很不錯,但我留下了深刻的印象,沒有鏈接到任何文檔它。 hook_block適用於多個區塊,它們可以共享構建其內容的功能。 API頁面很好,它給出的例子一次定義了兩個塊。
您應該注意到每個定義的塊都有一個delta($ blocks數組中的一個鍵)。您可以擁有動態增量,並使用其中的值來獲取數據(例如,傳遞nid或uid並獲取相關內容)。
相關問題
- 1. 幾個hook_cron爲一個模塊,drupal 6
- 2. 如何在Drupal 6中的一個模塊中創建多個不同的塊?
- 3. 如何在drupal中創建一個動態模塊?
- 4. 建立一個Drupal模塊
- 5. 使用標籤創建drupal 6模塊
- 6. Drupal獲取模塊信息?
- 7. 創建一個子模塊模塊
- 8. Node.js創建一個模塊來收集內存(RAM)信息?
- 9. 你爲什麼要從一個塊創建一個模塊?
- 10. 創建一個動態範圍滑塊
- 11. 創建一個jQuery滑塊動態
- 12. 創建一個Python模塊
- 13. 創建一個NodeJS模塊
- 14. drupal 6:創建自定義模塊並重新創建輪子?
- 15. 在Drupal 6的塊中創建內容
- 16. 用Drupal模塊動態創建一個自定義頁面的鏈接
- 17. Drupal 6:導航塊Nice_menus模塊
- 18. Drupal 6 javascript in front page的模塊塊
- 19. Drupal 6 - 使用「菜單塊」 - 模塊
- 20. Drupal 6模塊開發
- 21. Drupal 6的博客模塊
- 22. Drupal 6:使用視圖模塊[動態路徑]創建博客帖子頁
- 23. Drupal 7的私人信息模塊
- 24. 創建一個Python模塊從幾個不同的模塊
- 25. 每個模塊
- 26. 讓用戶在Drupal中創建一個列表(模塊?)
- 27. 在drupal 7中創建一個「解壓縮」自定義模塊
- 28. Drupal問題,如何創建一個快速內容模塊?
- 29. DotNetNuke 6 - 創建一個模塊,使用javascripts
- 30. 如何在DotNetNuke 6中創建一個模塊?
謝謝!現在我有一個名爲「myapp」的模塊,裏面有一個名爲「myapp_block」的函數。如何在同一模塊內創建和調用其他塊?他們是否生活在不同的功能中,還是需要一些開關語句?我如何將參數傳遞給我的模塊? – jdecuyper 2011-03-15 20:21:30
+1這兩個建議,尤其是暴露在一個觀點,因爲它似乎已經夠好了,但並不完全。自定義視圖代碼可以非常強大。我已將ajaxified「添加到購物車」按鈕作爲視圖字段。很值得學習的初始投資。 – 2011-03-15 20:27:16
請參閱hook_block()的文檔:http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_block/6(和barraponto的答案) – Berdir 2011-03-15 21:01:12