【问题标题】:Selectively add SQL to view query after search filter is populated in Drupal 7在 Drupal 7 中填充搜索过滤器后有选择地添加 SQL 以查看查询
【发布时间】:2014-10-01 13:06:26
【问题描述】:

我正在尝试使用 SQL 查询进行搜索,我需要使用用户输入搜索两个不同的东西“title”和“title_alt”,我想我可以使用 OR 来做到这一点,但是我需要能够调整查询填充过滤器时。这是我使用 Drupal 的第一天,我仍在掌握 SQL。

我知道我可以使用explodestr replace,但我应该添加一个钩子吗?如何测试过滤器中的值?

【问题讨论】:

    标签: php sql drupal drupal-7


    【解决方案1】:

    你应该创建一个自定义模块,然后实现 hook_views_query_alter()。

    这是一个非常快的 sn-p,根据您的需要进行调整

    /**
     * Implements hook_views_query_alter().
     */
    function mymodule_views_query_alter(&$view, &$query) {
      if ($view->name == 'view_machine_name') {
        if (isset($view->args[0]) && is_numeric(($view->args[0]))) {
          $query->add_where(0, 'users.uid', 1, '>');
          $query->where[0]['type'] = 'OR';
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 1970-01-01
      • 1970-01-01
      • 2016-04-20
      • 1970-01-01
      • 2012-11-02
      • 2015-11-24
      相关资源
      最近更新 更多