Drupal中的分面搜索模块为每个新的分面搜索环境创建一组块(当前搜索,引导搜索,相关等)。
如果您要为例如创建分面搜索环境您可以使用基本路径 browse/books
和起始页将其设置为browse/books/results
。要显示分面搜索块,您可以将块的页面特定可见性设置设置为“仅在列出的页面上显示”,将实际页面设置为
browse/books
browse/books/results*
问题:我想在不同的目标网页上重复使用“引导式搜索”功能块。着陆页应显示可用搜索字词列表(sidebar-left
),并在页面的其余部分显示视图。
到目前为止,只是在“仅在列出的页面上显示”列表中添加不同的路径无效。
答案 0 :(得分:1)
几乎到达那里的一种方法是添加一个新的自定义块,然后尝试使用以下内容显示实际块:
<?php
$block = module_invoke('faceted_search_ui', 'block', 'view', 'xxxxx');
print $block['content'];
?>
其中xxxxx
是分面搜索环境的ID,例如1_guided
。问题是看function faceted_search_ui_block(...)
只会让你到目前为止。只有在环境处于正确状态时才会呈现该块,除非它是一个假定在相关路径下运行的已知分面搜索环境,否则它不会。
所以,看起来不可能。
答案 1 :(得分: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生成的链接将按预期链接到实际的分面搜索环境路径。
答案 2 :(得分: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>
我只是控制了块显示的位置。我会在启动后跟进一个链接。