我正在研究Divio Django CMS Tutorial。一方面,模板中提供了静态链接:
<a href="#">
<span class="fa-stack fa-lg">
<i class="fas fa-circle fa-stack-2x"></i>
<i class="fab fa-github fa-stack-1x fa-inverse"></i>
</span>
</a>
(base.html),我想从CMS前端编辑此链接。所以我正在尝试类似的东西:
{% placeholder "githublink" %}
<a href="#">
<span class="fa-stack fa-lg">
<i class="fas fa-circle fa-stack-2x"></i>
<i class="fab fa-github fa-stack-1x fa-inverse"></i>
</span>
</a>
{% endplaceholder %}
并在前端添加一个Link插件,但是我不断收到TemplateSyntax错误。
答案 0 :(得分:0)
如果您使用的是static placeholder,则您的第二种方法将起作用。它们最适合网站的页眉/页脚,并允许您在所有模板中包含相同的标记,在一个位置进行编辑时,将在包含占位符的所有位置显示内容。您可以在开始标记和结束标记之间指定默认内容,类似于您在此处所做的操作。
不过,根据您的要求,我认为自定义模板和djangocms_link
插件将效果最好。因此,您可能只在模板中包含{% placeholder "links" %}
。会呈现一个占位符,您可以向其中添加链接插件。
然后,您可以包括一个自定义模板,以使用自己的标记来呈现链接,并在创建插件时指定该模板。创建模板;
templates/djangocms_link/fa-markup/link.html
<a href="{{ link }}"{% if instance.target %} target="{{ instance.target }}"{% endif %}>
<span class="fa-stack fa-lg">
<i class="fas fa-circle fa-stack-2x"></i>
<i class="fab fa-github fa-stack-1x fa-inverse"></i>
</span>
</a>
然后将模板添加到您的设置;
DJANGOCMS_LINK_TEMPLATES = [
('fa-markup', _('Font Awesome Version')),
]