我正在通过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 %}
并在前端添加一个链接插件,但我不断收到TemplateSyntax错误。
如果它是你正在使用的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')),
]