gpt4 book ai didi

php - drupal 外露过滤器 "is empty (NULL)"下拉菜单不起作用

转载 作者:行者123 更新时间:2023-11-29 03:11:22 26 4
gpt4 key购买 nike

我有一个内容类型,其中包含一些 cck 字段。其中一个字段的类型为文本,它不是必填字段。因此,这取决于用户是否要填写此字段。

我创建了一个 View 来显示带有此字段的所有记录作为可选的公开过滤器。当我想从下拉列表中应用过滤器“为空(NULL)”时,它会显示混合记录。但我打算只获取此列值为 NULL/EMPTY 的那些记录。

如何配置我的 View 或应用更改以在过滤后获得所需的记录。

最佳答案

回答自己的问题:

我认为当您从运算符中选择 [IS EMPTY (NULL)] 时,这是 drupal 公开过滤器中的一个错误。 drupal 所做的实际上是隐藏文本框。当您因为此文本框为空而点击应用按钮时,它不会包含在 View 查询的 where 子句

经过一些搜索和分析,我发现 -

在这个文件中 - sites/all/modules/views/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;
}
}

关于php - drupal 外露过滤器 "is empty (NULL)"下拉菜单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7791841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com