复杂视图/野外收集问题 -- 7 领域 和 views 领域 和 entities 领域 drupal 相关 的问题

Complex Views / Field Collection question


0
vote

问题

中文

是有没有办法在视图中执行子查询,该视图是基于现场收集中的过滤器值过滤实体,而且还通过附加到该字段收集项的另一个值?

例如,人们正在搜索属性。房地产率存储在字段集中,参考日期,价格,以及可用的。

当用户使用视图并按特定日期搜索时,我只想返回那些在该字段收集项上的date 和可用= 1的实体。只需在视图上添加"可用" 过滤器是不够的,因为它需要搜索附加到日期附加到的字段收集项ID的值。

我的第一个想法是使用hook_views_query_alter:

  $lookup = new EntityFieldQuery;     $lookup->entityCondition('entity_type', 'field_collection_item')         ->entityCondition('bundle', 'field_property_booking');     $lookup->fieldCondition('field_property_booking_basis', 'value', 'Weekly', '=');     $lookup->fieldCondition('field_property_booking_period', 'value', 1348891200, '=');     $lookup->fieldCondition('field_property_booking_available', 'value', 1, '=');     $rates = $lookup->execute();   
好的,所以,基于来自表单提交的时间戳,我得到5,172的结果。我不确定此时去哪里。我想说像主实体的些什么在上面的项目ID中有()中的现场收集项目ID,但我不确定如何做到这一点。

我可以用$ query-&gt插入某种方式。在哪里条件?或者有更好的方法来做到这一点吗?

英文原文

Is there a way to do a subquery in a View that filters entities based on a filter value in a field collection, but also by another value attached to that field collection item?

For example, people are searching properties. Property rates are stored in a field collection that references dates, the price, and if it is available.

When a user uses the view and searches by a particular date, I only want to return the entities that have both that date AND an available = 1 on that field collection item. Just adding the 'available' filter on the View is not enough, because it needs to search the value attached to the field collection item id that the date is attached to.

My first thought was to use hook_views_query_alter:

$lookup = new EntityFieldQuery;     $lookup->entityCondition('entity_type', 'field_collection_item')         ->entityCondition('bundle', 'field_property_booking');     $lookup->fieldCondition('field_property_booking_basis', 'value', 'Weekly', '=');     $lookup->fieldCondition('field_property_booking_period', 'value', 1348891200, '=');     $lookup->fieldCondition('field_property_booking_available', 'value', 1, '=');     $rates = $lookup->execute(); 

Okay, so, based on the timestamp from the form submission, I get 5,172 results. I am not sure where to go at this point. I want to say something like the main entity has field collection item IDs IN () with the item id's above, but I am not sure how to do that.

Can I plug in somehow with $query->where conditions? Or is there a better way to do this?

        

回答列表

1
 
vote
vote
最佳答案
 

在梅洛夫Chaos的某些方向后,这是我所做的:

  • 将字段添加为曝光过滤器
  • 使用form_alter将其更改为隐藏
  • 使用JavaScript将值设置为1,绑定到日期的更改事件选择
否则它就像询问有条件过滤器(如果过滤器x有值,则将这些过滤器设置为y),在ui中不是那么容易。

您也可以检查$ _get并使用hook_views_query_alter添加$ query->在哪里,但我与JavaScript有更好的运气。

希望这有助于他人。

 

After some direction from merlinofchaos, here is what I did:

  • Add the field as an exposed filter
  • Use form_alter to change it to hidden
  • Use javascript to set the value to 1, bound to a change event on the date select

Otherwise its like asking for a conditional filter (if filter X has value, then set these filters to Y) which is not so easy in UI.

You could also inspect $_GET and use hook_views_query_alter to add a $query->where, but I had better luck with Javascript.

Hope this helps others.

 
 

相关问题

2  DP7浏览不尊重主题信息模板?  ( Dp7 views not honoring the theming information templates ) 
我正在使用drupal 7,具有我自己的非常简单的主题的视图和面板模块,这些主题只有mytheme.info和一个css文件,在网站/全部/主题/ mytheme目录中。 我在主题文件夹中创建了一个新视图 - 查看 - myview.tpl.php文件,然后单击"查看主题信息" 窗口中的"Rescan模板文件" 。...

0  块加载节点中的PHP代码  ( Php code in block load node ) 
我之前使用过 <?php print $node->field_listing_artist[0]['taxonomy_term']->description; ?> .tpl.php。这确实是打印所显示节点相关分类项的描述。 但我希望在面板中使用这段代码或在面板中使用自定义内容类型。 扫描,我可以看到(我想?)我...

0  如何指定默认安装配置文件  ( How to specify the default installation profile ) 
我想将我的自定义安装配置文件指定为默认的安装配置文件,如Acquia Drupal中的Acquia配置文件。 例如,在安装默认ropal时,将默认选择Aquia配置文件,从而选择配置文件和语言。现在我需要克服这一点,因为我是在Acquia Drupal中编写我的安装配置文件。所以我应该将自定义配置文件设置为默认配置文...

2  在用户之间转移资金?  ( Transfer money between users ) 
有没有办法与Drupal转移用户之间的资金?我制作技能共享网站,因此用户可以购买和销售他们的技能。谢谢 ...

1  默认语言URL路径前缀未找到多语言站点页面  ( Multilingual site page not found error on default language url path prefix ) 
我有一个具有3个启用3种语言的多语种网站。 默认语言是荷兰语。但是,在 http://mysite.com/nl 我收到了未找到错误的页面。 / fr和/ en像往常一样工作。 我如何为我的荷兰内容使用/ nl?使用用户界面文本块显示语言链接时,在A / NL页面上,NL链接设置为活动状态。 ...

2  锁定节点或实体以防止并发编辑  ( Locking nodes or entities to prevent concurrent editing ) 
我没有需要这个,但另一个(家庭建造的梨)CMS I支持客户端使用锁定防止两个用户能够同时编辑一段内容。它可能是刺激性的,但可以防止失去工作。 我假设如果您有多个站点编辑器,它可能是宝贵的。 是必要的吗?是一个内容锁定一个可行的选项? ...

0  在某些现有图像上更改作物焦点  ( Change crop focus for specific styles on certain existing images ) 
我刚刚迁移了15,000个故事新闻网站,并在该迁移上做了一些质量测试。 该网站使用大约5个图像样式用于各种物品,包括每个故事顶部的一个真正宽的一个(〜960x400px)。这对具有水平/横向方向的图像很棒,但导致具有垂直/纵向方向的图像的奇怪裁剪。 我不想使用像 imagefield_crop ,这将改变裁剪例如,所...

1  模块类似于模块过滤器过滤内容和用户?  ( Module similar to module filter to filter content and users ) 
我使用模块过滤器模块过滤长度的模块列表。找到一个模块而不是始终使用Ctrl + F来实现非常方便。我想知道是否有一个模块,可以过滤内容(在admin / content)和/或用户(在admin / people)中。 ...

0  元标签未出现  ( Meta tags not appearing ) 
我正在使用drupal 7,我对meta标签有奇怪的问题。对于某些内容类型,即使我输入元标题,元关键字和描述,它们不会在页面上获得有效。 其中的某些内容类型它确实反映了元信息。 如何缩小问题?我不知道如何为我的问题使用元标签快速模块,因为元信息没有生成。 如何调试问题存在于问题的位置? ...

4  如何在没有内容的情况下制作网站的克隆  ( How to make a clone of a website without contents ) 
我需要创建我一个网站的克隆。 它将是相同的(模块,视图,内容类型,模板等......) 通过应对一切,我已经完成了一次,然后删除内容和用户。 有正确的方法吗?我需要做3-4个网站副本。 是否有任何模块可以帮助我(备份和迁移的一部分)来执行这些副本?我应该创建一种"分发" 启用模块并创建内容类型,类似于Master O...

3  无法删除新分类术语的描述字段  ( Cant remove description field for new taxonomy terms ) 
我创建了一种新的分类词汇。出于某种原因,我无法为术语删除描述字段,但我只需要标题字段。 是一个错误还是不可能做的或者是隐藏在某处奇怪的设置?谢谢 ...

0  如何触发词汇术语更新功能?  ( How to trigger function on vocabulary terms update ) 
在编辑/添加/删除的分类词汇表中的任何术语时是触发的钩子? i'v试图使用hook_taxonomy_vocubulary_update但到目前为止没有成功。 ...

0  在标题中显示具有一些字符串的特定节点的块  ( Show block in particular nodes having some string in title ) 
我有一个块,我只需要在某些情况下显示这个块。 例如,如果节点的标题包括"ABC" ,则块将可见其他块。 从块的可见性设置,我使用此代码片段: <?php $match = FALSE; $url = request_uri(); if (strpos($url, "myword")) { $match = ...

8  创建图像链接的“drupal”方式是什么?  ( Whats the drupal way of creating image links ) 
我知道在drupal中创建链接的正确方法是使用 l($text, $path, array $options = array()) 。但这只允许文本链接。是否有类似的功能来创建链接的图像,或者可以单独写出html? ...

0  克服Files_Managed的255个字符URI限制  ( Overcoming 255 character uri limit for files managed ) 
我最近偶然发现了对Drupal的有趣限制。似乎在表格Files_Managed中,存在一个名为"URI" 的字段,它表示由Drupal管理的文件的路径。该字段被定义为varchar(255)。我幸福地忽略了这个事实/限制,直到我们的一个用户启动了一系列导致Drupal试图使用261个字符路径管理文件的事件,此时Dru...

1  Drupal适合那种电子商务吗?  ( Is drupal suitable for that kind of ecommerce ) 
我必须做卖网络售车的网站,我想用d7到这份工作。不幸的是,我以前从未完成任何Drupal电子商务。 我会有点用户: 老师 学生 付款方式:PayPal仅 网络研讨会内容类型: 标题 描述 开始日期(每个网络研讨会长度为60分钟) 地方 价格是所有网络研讨会的价格,由Admin 指定 网络研讨会在开始哥斯达队之前...

1  清理未使用的表  ( Clean up unused tables ) 
我已经为我的Drupal网站安装了一些分析模块。因为它是公司的内部网络,我无法使用它。现在我拥有坐在我的数据库中的模块创建的表(在我强行从Drupal安装中删除模块文件夹之后)。 有没有办法在Drupal 7中清洁未使用的表? 注意:我尝试了架构,但它似乎没有做任何事情,但是显示表在使用中且未使用 ...

0  如何以现有的自定义内容类型创建相关页面或内容类型?  ( How to create a related page or content type with in an existing custom content ) 
我已创建一个是产品页面的自定义内容类型。需要与创建软件产品页面相关的各种信息。例如,产品名称,系统要求和功能,并为我可以制作的每条软件构建自定义页面。 问题是我有一个产品页面,以及获得软件的几种方法: 潜在的试用版从我的网站上下载直接下载。 从Mac App Store购买的链接, 和从快餐商店购买它的链接。 ...

1  重写照片字段URL  ( Rewrite photo field urls ) 
每次我下载到我当地网站的Live数据库的新副本,我也必须下载照片(几个GB)。 有没有一种简单的方法来编写一个"照片" 字段(类型图像)以始终使用实时网址URL? 我正在使用s3但没有找到批量将图像和图像样式的好方法和到S3。 ...

0  节点内的多个节点  ( Multiple nodes within a node ) 
是否有没有模块out,它会提供用于在节点内显示多个节点的功能,即类似于博客如何使用其文章,只需将直接链接到其他节点的页面即可。 很大的事情是CMS部分和在节点内添加现有节点的能力。由此,我的意思是与您将与字段的方式一样,除非在这种情况下,它将是现有节点的列表。 到目前为止,我的尝试诸如设置的尝试已经使用现场集合模块...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.