[英]How to render placeholders from a django-cms custom templatetag?
我已經做了一個簡單的模板標簽來列出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 *的方法,但是沒有運氣。
如何獲得占位符的正確方法?
這只是(未試用的)建議,但請嘗試將上下文傳遞給模板:
@register.inclusion_tag('subpages.html', takes_context = True)
def get_news_items( context ):
request = context['request']
subpages = request.current_page.children.filter(published=True)
context.update({'subpages':subpages})
return context
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.