php - www - token drupal




如何為Drupal視圖模塊創建自定義過濾器? (4)

我在Drupal 6站點上安裝了Profile,CCK和Views2模塊。 我向用戶配置文件添加了一個字符串字段。 我可以很容易地過濾預設值,通過視圖GUI生成器,非常好。 不過,我希望根據其他環境變量(即$_SERVER['SERVER_NAME'] )動態設置過濾標準。

在那裡有一個基本的“如何寫一個自定義的drupal視圖過濾器”? 我一直在通過文檔來看,但對於如何做到這一點我的簡單思想並不明顯。


有可能,已經看過了為我自己的網站安裝的過濾器類型,過濾器必須基於一些數據庫字段,在這種情況下,你試圖實現是不可能的。 看起來,篩選器將WHERE子句提供給生成的SQL查詢。

說了這麼多,如果你想進一步追求,最好的辦法就是從一個已經為Views提供過濾器的模塊開始。 為Node模塊提供了Views的過濾器; 或者,你可以看看也提供一些過濾器的音頻模塊 。 另外,張貼到Drupal論壇或支持列表可能會出現另一個模塊,可以讓你實現你正在嘗試的東西。


是的,你可以做到這一點。 嘗試使用模塊“視圖過濾器塊”。 一旦你啟用該塊,當查看頁面時,從“查看源代碼”中提取該塊的html。 現在禁用“視圖篩選器塊”...創建自己的自定義塊..添加代碼與任何CSS你喜歡使它看起來漂亮。 在這個代碼中使用PHP來動態地指定你想要的過濾器初始選擇。 確保你真的選擇了過濾器所基於的字段..然後在自定義php塊中使用php代碼來編寫IF條件來檢查server_name值,並相應地為過濾器變量賦值正確的值。

可能還有其他(甚至可能更好)的方法來實際編寫一個模塊來使用過濾器。 所以這只是一個建議。 也給“視圖PHP過濾器”一試。 我還沒有使用它,但聽起來像是值得一試。

  • 由drupal用戶(drupal用戶名:drupdrips)

您可以使用viewsphpfilter模塊,它允許按node id.過濾器視圖node id. 但是如果你需要擴展這個user views話就有一個補丁