我收到了一个由Drupal 7上的其他人编码的项目,但显然没有遵循Drupal的任何标准,并且被编码为覆盖模板系统的网站(修改或编辑为时已晚)任何当前的结构)。
我有以下问题需要构建自定义查询:
CMS中的数据是这样创建的:
类别(在分类中创建) - >子类别(作为内容类型创建) - > item(作为内容类型创建)
在CMS中添加条目时,工作流程如下:
我已经从CMS截取了屏幕截图,因此有助于使结构更清晰,可以在这里找到:
问题是我根本无法为此构建视图, 我需要创建一个可以执行以下操作的自定义查询:
这样做的目的是在网站上,用户能够点击一个类别,并获得一个子类别列表。单击子类别时,可以看到其中的项目。
在典型的PHP / MySQL中,查询过程看起来像这样(假设没有连接):
<?php
$categories = query('SELECT * FROM categories');
while ($category = fetcharray($catetgories)) {
$subcategories = query('SELECT * FROM subcategories WHERE category = $category['id']);
while ($subcategory = fetcharray($subcategories)) {
$items = query('SELECT * FROM items WHERE subcategory = $subcategory['id']);
}
}
?>
我需要能够通过查询来获取分类法和#34;类别&#34;,找到属于它的子类别(内容类型),然后查找属于子类别的项目来复制上述内容
答案 0 :(得分:0)
您可以使用Drupal API函数taxonomy_get_tree来获取分类树,并在每个子类别迭代下使用EntityFieldQuery来加载项(节点)列表。
但我建议您创建具有三个选择表单元素的自定义AJAX字段并依赖于加载值。