1

考虑这个 cms_app.py

from django.utils.translation import ugettext_lazy as _
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool


class FooHook(CMSApp):
    name = _("FooHook Plugin")
    urls = ["foo.urls"]

apphook_pool.register(FooHook)

foo 应用程序有一个视图模型,其中包含默认的 django 视图、ListView 和 DetailView.. 这些有它们的默认模板,继承自 base.html,它们是 foo_list.html 和 foo_detail.html..

文档完全不清楚如何在这些模板中获取,例如 cms 页面的侧边栏内容或页面上下文变量。

Feincms 有用{% fragment %}于此目的的模板标签,如何在 django-cms 中实现这一点?

4

1 回答 1

2

要访问该页面,您可以使用 {{ request.current_page }} 要在模板中使用插件系统,请使用 {% static_placeholder my_name %} 而不是 {% placeholder %} 标签。

始终最好在 apphooks 中使用 static_placeholders,因为您不知道页面实际具有什么模板和占位符。

于 2014-06-13T13:53:43.100 回答