Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在drupal模板中实现addtag_Drupal_Drupal 7_Drupal Theming - Fatal编程技术网

在drupal模板中实现addtag

在drupal模板中实现addtag,drupal,drupal-7,drupal-theming,Drupal,Drupal 7,Drupal Theming,我的模板中有代码: $query = new EntityFieldQuery(); $entities = $query->entityCondition('entity_type', 'node') ->propertyCondition('type', 'article') ->propertyCondition('status', 1) ->fieldCondition('field_show_on', 'tid', $group[

我的模板中有代码:

$query = new EntityFieldQuery();
    $entities = $query->entityCondition('entity_type', 'node')
    ->propertyCondition('type', 'article')
    ->propertyCondition('status', 1)
    ->fieldCondition('field_show_on', 'tid', $group['identifier'], '=') // taxonomy identifier
    ->fieldCondition('field_perks_categories', 'tid', $categories['tid'], '=')
    ->fieldCondition('field_perks_sub_categories', 'tid', $subcategory['tid'], '=')
    ->execute();
我有另一个名为“artc_order”的表,其中包含nid、手动订购物品的重量 我想实现这一点:
对于我的模板文件,如何做到这一点?

也许对您的案例使用
db\u select
而不是
EntityFieldQuery()
是有用的。您不能将
JOIN
直接添加到
EntityFieldQuery
,因为它不受支持,可能在Drupal 8中

您的查询可以用
db\u select
重写,如下所示:

$query = db_select('node', 'n')
        ->fields('n', array('nid'))
        ->leftJoin('field_data_field_show_on', 'fso', 'fso.entity_id = n.nid') // You can use INNER if you need
        ->leftJoin('field_data_field_perks_categories', 'fpc', 'fpc.entity_id = n.nid') // Same thing here
        ->leftJoin('field_data_field_perks_sub_categories', 'fpsc', 'fpsc.entity_id = n.nid') // And here also
        ->leftJoin('order', 'o', 'o.nid = n.nid') // Join artc_order
        ->condition('n.type', 'article', 'LIKE')
        ->condition('fso.field_show_on_tid', $group['identifier'])
        ->condition('fso.field_perks_categories_tid', $categories['tid'])
        ->condition('fso.field_perks_sub_categories_tid', $subcategory['tid'])
        ->condition('n.status', 1)
        ->orderBy('o.weight')
        ->execute();
PS:我不能测试这个查询,因为我没有你的数据库,但差不多就是这样


PS2:在template.php文件中使用查询不是一种干净的方法,我知道在某些极端情况下,我们需要这样做,但我认为Drupal有很多钩子,可以让我们直接在自定义模块中找到所需的内容,而不是template.php(这只是我的观点,我可能是错的)

关于我的问题的另一个链接。然而,它是在模块上实现的。我可以在模板上实现它吗?谢谢,那很有帮助。我使用更像你的查询和它的工作