2012-04-09 56 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頻道傢伙。