小编laz*_*tem的帖子

如何按Drupal中的内容类型列出CCK字段

要获取内容类型的cck字段列表,我希望使用:

drupal_get_schema('content_type_mycontenttype');
Run Code Online (Sandbox Code Playgroud)

但是这会遗漏具有多个值的字段.是否有一个简单的调用来获取这样的列表?

drupal cck drupal-6

7
推荐指数
1
解决办法
4502
查看次数

如何使用多个过滤器来扩大Apachesolr查询中的搜索范围

使用Apachesolr进行搜索,我想在hook_apachesolr_prepare_query(&$ query)中添加几个过滤器.这很好,除了我希望过滤器扩大搜索范围('OR'),而不是缩小它('AND').

例如,如果我有4个类型的节点:A和3类型:B匹配搜索,则按类型过滤:A和类型:B应返回7个节点(类型:A AND节点类型:B),而不是0那些类型:A也是类型:B.

我看到了使用nodeaccess模型执行此操作的建议

foreach ($filters as $filter) {
  $subquery = apachesolr_drupal_query();
  if (!empty($subquery)) {
    $subquery->add_filter('type', $filter);
    $query->add_subquery($subquery);
  }
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.(它不会返回任何结果).

然后我尝试(因为我有有限数量的节点类型),不包括我不想要的类型:

$excludes = array('A', 'B', 'C');
$excludes = array_diff($excludes, $filters);
$exclude = implode('&', $excludes);
$query->add_filter('type', $exclude, TRUE);
Run Code Online (Sandbox Code Playgroud)

这种将它们拼接在一起的方法不起作用('&'被转义)但是也没有将它们作为子查询添加,类似于上面的方式.

有关如何做到这一点的任何建议?

solr drupal drupal-6

6
推荐指数
1
解决办法
2846
查看次数

覆盖Drupal javascript行为

我想在评论表单上覆盖一些核心drupal行为.

如果您以匿名用户身份发表评论,您的姓名和邮件将存储在cookie中,然后javascript将使用以下代码填写后续评论表单中的相应字段:

Drupal.behaviors.comment = function (context) {
  var parts = new Array("name", "homepage", "mail");
  var cookie = '';
  for (i=0;i<3;i++) {
    cookie = Drupal.comment.getCookie('comment_info_' + parts[i]);
    if (cookie != '') {
      $("#comment-form input[name=" + parts[i] + "]:not(.comment-processed)", context)
        .val(cookie)
        .addClass('comment-processed');
    }
  }
};
Run Code Online (Sandbox Code Playgroud)

如果我不想填写这些字段,我知道我可以用更多的javascript消除这些信息,但我确信有一个"更清洁"的方法来实现它.

javascript drupal drupal-6

5
推荐指数
1
解决办法
4501
查看次数

标签 统计

drupal ×3

drupal-6 ×3

cck ×1

javascript ×1

solr ×1