2011-10-17 37 views
2

我有一個內容類型,內容一些cck字段。其中一個字段有文本類型,不需要字段。所以這取決於用戶他/她是否想填補這個領域。drupal暴露過濾器「爲空(NULL)」下拉不起作用

我已經創建了一個視圖來顯示這個字段的所有記錄作爲可選的暴露過濾器。當我想從下拉菜單中應用過濾器「爲空(NULL)」時,它會顯示混合記錄。但我打算只獲取這個列值爲NULL/EMPTY的記錄。

如何配置我的視圖或應用更改以在過濾器後獲取所需的記錄。

回答

1

回答自己的問題:

我認爲這是在Drupal暴露過濾器時的錯誤選擇[爲空(NULL)從運營商什麼的Drupal做實際上是隱藏文本框。當你打,因爲這個文本框的應用按鈕是空的,它不包含在視圖查詢的where子句

之後我搜索和分析,我發現了什麼是 -

在這個文件 - 網站/所有/模塊/視圖/ JS/dependent.js

如果你做出改變在哪裏放置評論

var setChangeTrigger = function(trigger_id, bind_id) { 
    var changeTrigger = function() { 

    ..... 

    if (rel_num <= len) { 
     // Show if the element if criteria is matched 
     $(object).children(':input').val(''); 
     // EMPTYING THE TARGETED DROPDOWN ON CHANGE 
     object.show(0); 
     object.addClass('dependent-options'); 
    } 
    else { 
     // Otherwise hide 

     $(object).children(':input').val('uw'); 
     // PUTTING ANY CHARACTER, WHEN CHANGED EVENT IS CALLED 
     // AND FROM OPERATOR YOU CHOSE IS EMPTY (NULL). 
     // IN MY CASE I JUST PUT "uw" 
     object.hide(0); 
    } 

你會得到我想要的結果。

您可以驗證這一點使用hook__views_pre_execute()

function myModule_views_pre_execute(&$view){ 
    switch($view->name) 
    { 
     case 'YOUR VIEW NAME': 
      drupal_set_message($view->build_info['query']); 
     break; 
    } 
} 
+2

我相信這是相關的問題:http://drupal.org/node/477984 – thirdender

0

該字段可以設置一些默認值,如0或出頭類似形式的後端(CCK管理

+0

這是一個文本字段,默認值是在設置頁空。因爲如果用戶不爲該字段提供值,那麼數據庫將自動爲該字段分配NULL值。所以,如果我把一些默認值,那麼我不能使用暴露過濾器「是空(NULL)」選項。 –

相關問題