В шаблоне djangocms, как сделать ссылку редактируемой из внешнего интерфейса? - PullRequest
0 голосов
/ 21 марта 2019

Я работаю над учебным пособием по Divio Django CMS . В какой-то момент в шаблоне предусмотрена статическая ссылка:

            <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.

1 Ответ

0 голосов
/ 01 апреля 2019

Ваш второй подход сработал бы, если бы вы использовали статический заполнитель .Они лучше всего подходят для верхних и нижних колонтитулов сайта и позволяют включать одинаковую разметку во все шаблоны, которые при редактировании в одном месте будут отображать содержимое везде, где включен заполнитель.Вы можете указать содержимое по умолчанию между начальным и конечным тегами, аналогично тому, что вы там сделали.

Однако с тем, что вы спрашиваете, я думаю, что пользовательский шаблон и плагин 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')),
]
...