从 django-cms 插件上下文设置 meta ogg 图像

Set meta ogg image from django-cms plugin context

我的问题:

我需要从 django-cms 站点的所有页面上都存在的轮播插件设置 ogg 图像。 <head> 标签所在的我的基础模板是 django cms 基础的父模板。

只需将 {% block meta_image %} 添加到我的基本模板并从 cms 插件模板填充它是行不通的。有什么方法可以从插件渲染方法访问全局上下文吗?

您应该能够利用 django-sekizai,它已经是 Django-CMS 的依赖项,以非重复的方式将元标记添加到父级上的任何块:

# base-template.html

{% load sekizai_tags %}

{% block meta %}
    {# some default content might be here #}
{% endblock meta %}
{% render_block "meta" %}


# your-plugin-template.html

{% load sekizai_tags %}

{% block meta %}
    {% addtoblock "meta" %}
        <meta property="og:image" content="{{ instance.value }}" />
    {% endaddtoblock %}
{% endblock meta %}