0

django-cms と haystack 検索の結果に問題があります。私は django-cms-search プラグイン、haystack をバックエンドとして使用しています。Haystack は正しい結果を返します。しかし、検索結果に「ティーザー」を表示したい。

この方法で、テンプレートを介してページの絶対 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 }}プレースホルダーの名前のみを返します。

検索結果は次のようになります。

ページタイトル

ページティーザー

続きを読むリンク

ティーザーには、検索に一致したページの最初の 50 語が表示されます。

テンプレートからプレースホルダー コンテンツにアクセスすることは可能ですか?

ヒントをありがとう。

4

1 に答える 1

3

Haystack には、私が要求した「ティーザー」を作成する templatetag higlight があります。

テンプレート コードは次のようになります。

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

#haystack IRC チャンネルの皆さんに感謝します。

于 2012-04-23T07:06:15.377 に答える