2009-11-15 18 views
2

一位同事創建了一個小模塊,根據用戶可配置的搜索條件檢索twitter搜索結果並將其顯示在一個塊中。主題爲/用javascript?

他正在做與JavaScript的搜索,以保持在客戶端的流量,是這樣的: $.getJSON('http://search.twitter.com' etc.. 然後當JSON返回結果將它們插入塊,在HTML包裝返回的數據,並將其附加到塊。

有沒有一種方法,這可以使從JavaScript層的主題?沒有它通過到drupal並失去了它的客戶端的帶寬等優勢?

+1

作爲一個方面說明,你可能想檢查juitter模塊(http://drupal.org/project/juitter)。它幾乎完成了你所描述的內容,只在一個頁面內而不是一個塊內。添加塊生成邏輯已經是一個功能請求,所以你的同事可能有興趣擴展它,而不是維護一個單獨的模塊。 – 2009-11-15 23:43:39

回答

6

從Drupal 6開始,通過JavaScript提供/獲取動態內容的模塊應該通過調用Drupal js命名空間中的Drupal.theme('function_name', ...)來將其轉換爲HTML。模塊可以/應該通過將它們添加到Drupal.theme.prototype命名空間來提供它們自己的主題功能(或覆蓋)。

該機制應該類似於標準的主題機制,但迄今尚未有充分的文件記錄。見this entry in the module conversion guide,以及the example towards the end of this post

+1

+1 - 這正是做事情的「drupal方式」。 – mac 2009-11-16 00:36:01

+1

+1不錯,我甚至都不知道Drupal是這麼做的。 – googletorp 2009-11-16 01:17:54

1

使用semantic HTML,只是風格CSS生成的HTML。

+0

是的,這正是現在正在發生的事情,可能是最好的解決方案。我想我也對一個可以應用於更復雜的例子的通用解決方案感興趣,這些例子可能並不涵蓋所有的基礎。 – Andrew 2009-11-15 23:14:05

+0

一般的解決方案是使用一般的語義HTML來建模,比如說「遠程消息」。 – 2009-11-15 23:27:06

0

你可以完全用CSS來主題。

+2

我覺得你把造型和主題混在一起。 Drupal中的主題表示根據某些任意形式的數據生成標記(例如,在本例中爲json或XML)。所以你需要首先*主題*數據到標記中,以便*樣式*之後通過CSS。 – 2009-11-16 00:06:48