3

Drupal 中的分面搜索模块为每个新的分面搜索环境(当前搜索、引导搜索、相关等)创建一组块。

如果您要为书籍等创建分面搜索环境,您可以使用基本路径 browse/books起始页将其设置为browse/books/results. 要显示多面搜索块,您需要将块的页面特定可见性设置设置为“仅在列出的页面上显示”,并将实际页面设置为

browse/books
browse/books/results*

问题:我想在不同的登录页面上重新使用“引导式搜索”块。登录页面应显示可用搜索词列表 ( sidebar-left) 并显示页面其余部分的视图。

到目前为止,简单地将不同的路径添加到“仅在列出的页面上显示”的列表中没有任何效果。

4

3 回答 3

1

几乎到达那里的一种方法是添加一个新的自定义块,然后尝试使用以下内容显示实际块:

<?php
   $block = module_invoke('faceted_search_ui', 'block', 'view', 'xxxxx');
   print $block['content'];
?>

多面搜索环境的 id在哪里xxxxx,例如1_guided. 问题是,看着function faceted_search_ui_block(...)只会让你到目前为止。仅当环境处于正确状态时才会呈现块,除非它是假定在关联路径下运行的已知分面搜索环境,否则它不是。

所以,看起来不太可能。

于 2010-12-08T21:05:36.213 回答
1

Drupal 老手可能会提供更好、更清洁、更正确的解决方案,但以下对我有用:

我添加了一个运行以下 PHP 的新块:

$env = faceted_search_env_load ( $fs_env_id );
if (!$env->ready()) 
{
    $env->prepare();
    $env->execute();
}
faceted_search_ui_add_css();
$env->ui_state['stage'] = 'results';
print faceted_search_ui_guided_block($env);

$fs_env_id取决于您的设置。正如预期的那样,API 生成的链接将链接到实际的多面搜索环境路径。

于 2010-12-09T21:37:04.673 回答
0

唔。我不确定这是否是我要找的 -

这是我现在正在使用的。我不知道它是否正是您要寻找的,但您可以在任何适用的页面上呈现构面。(刻面应该显示在)

对我来说,它是通过视图搜索结果。

我正在渲染一个块,我的所有搜索方面都在一个块中。

<div class="xfacet">
Something here
<?php
$block = module_invoke('facetapi', 'block_view', 'xxxx');
print render($block['content']);
?>
</div>
<div class="xfacet">
Something there
<?php
$block = module_invoke('facetapi', 'block_view', 'xxxx');
print render($block['content']);
?>
</div>

我只是控制块显示的位置。我会在启动后跟进一个链接。

于 2014-04-27T17:06:42.287 回答