2012-04-09 44 views
0

我在django-cms和干草堆搜索中遇到了问题。我使用django-cms-search插件,干草堆作为后端。 Haystack返回正确的结果。但是我想在搜索结果中显示“预告片”。Django-cms干草堆搜索 - 占位符内容

我可以通过模板访问绝对URL和页面标题是这样的:

{% for result in page.object_list %} 
<div class="searchResults"> 
<h2>{{ result.object.get_title }}</h2> 
{{ result.object.placeholders.all }}   
<p><a href="{{ result.object.get_absolute_url }}">{% blocktrans %} Read more {% endblocktrans %}</a></p> 

有争议的部分是{{ result.object.placeholders.all }}。我在每个页面上都有名称内容的占位符内容。

{{ result.object.placeholders.all }}仅返回占位符的名称。

的搜索结果应该是这样的:

PAGE TITLE

PAGE TEASER

阅读全文链接

在预告片应该有来自搜索匹配的页面前50个字。

可以从模板访问占位符内容吗?

谢谢你的提示。

回答

2

Haystack拥有templatetag higlight,可根据需要创建“传情”。

模板的代码可以是这样的:

{{ result.object.get_title }} 
{% highlight result.text with request.GET.q max_lenght 40 %} 
{{ result.object.get_absolute_url }} 

感谢来自#haystack IRC频道家伙。