1

django-cms サイトの子ページを一覧表示する単純なテンプレート タグを作成しました。テンプレートタグ自体で子ページのプレースホルダーをレンダリングできなかったという事実を除いて、正常に機能しています。

以下は、テンプレート タグの私のコードです。

subpages.py

from cms.models import Page
from cms.utils.page_resolver import get_page_from_path

from django import template


register = template.Library()


@register.inclusion_tag('subpages.html', takes_context = True)
def get_news_items( context ):
    request = context['request']
    subpages = request.current_page.children.filter(published=True)
    return {'subpages':subpages}

subpages.html

{% load cms_tags menu_tags placeholder_tags %}
<ul>
{% for item in subpages %}
    <li><a href="/{{ item.get_path }}">{{ item.get_title }}</a>
        {% render_placeholder subtitle %}
    </li>
{% endfor %}
</ul>

*render_placeholder* に代わるものをいくつか試しましたが、うまくいきませんでした。

プレースホルダーをレンダリングする正しい方法はどのようになりますか?

4

1 に答える 1