Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Layout 在不同的SplaceHolder/模板上以不同的方式呈现Django CMS插件_Layout_Django Templates_Zurb Foundation_Django Cms_Overriding - Fatal编程技术网

Layout 在不同的SplaceHolder/模板上以不同的方式呈现Django CMS插件

Layout 在不同的SplaceHolder/模板上以不同的方式呈现Django CMS插件,layout,django-templates,zurb-foundation,django-cms,overriding,Layout,Django Templates,Zurb Foundation,Django Cms,Overriding,简短版本:我想让相同类型的cmsplugin在不同的占位符中使用不同的模板。这可能吗?或者,我应该去做我的自定义插件吗 长版本:使用Django和Django CMS并使用 CMSPLUGIN视频YouTube 插件,我在主页上有两个YouTube视频,它们是用基础4的网格系统来堆叠的,一个接一个,另一个在它下面,在浏览器宽度的某个“断点”上,它们将并排。这一切都很好 现在,我想在另一个页面的另一个占位符中添加一些数量不限的YouTube视频,这是一个不同的模板。我想让它们呈现在前一个下方,以此

简短版本:我想让相同类型的cmsplugin在不同的占位符中使用不同的模板。这可能吗?或者,我应该去做我的自定义插件吗

长版本:使用Django和Django CMS并使用<代码> CMSPLUGIN视频YouTube <代码>插件,我在主页上有两个YouTube视频,它们是用基础4的网格系统来堆叠的,一个接一个,另一个在它下面,在浏览器宽度的某个“断点”上,它们将并排。这一切都很好

现在,我想在另一个页面的另一个
占位符中添加一些数量不限的YouTube视频,这是一个不同的模板。我想让它们呈现在前一个下方,以此类推,在浏览器宽度的某个“断点”上,它们将是水平并排的对,在前一个下方,以此类推

因为这些YouTube视频元素的数量是无限的,而不是预定义的,所以我不能使用网格系统。我想我应该用这个系统。这让我在
元素中创建了
  • 元素。这需要我更改youtube视频中
    cmsplugin视频
    元素的模板,以呈现youtube周围的
  • 元素。问题是,如果我通过提供
    templates/cmsplugin video youtube/embed.html
    ,覆盖该插件的模板,它也会覆盖该模板,并为主页中该插件的实例修改该模板。我喜欢它们的本来面目

    因此,我认为,有一种方法可以只为特定的
    占位符
    覆盖插件的模板,这将是有益的。这将允许我在我的另一个页面中指定YouTube在特定的
    占位符中的呈现,并且不会影响我主页中这个插件的实例,我喜欢它们

    是否有这样一个选项-覆盖特定
    占位符的插件模板

    否则,我认为这可能需要一个自定义插件,该插件基于现有的
    cmsplugin video youtube
    ,可能是它的一个子类,我假设,它将拥有我需要的模板,以及
  • 元素,用于另一个页面

    另一种不同的方法是尝试迭代插件实例的实例,并使用它们周围的全部内容逐个呈现它们。根据我得到的一些答案,这似乎不是最简单的路线

    请问你对此有何看法


    我还没有收到答复。求你了,即使是一个指针也会很重要

    我知道这个问题很老。但希望任何有同样问题的人都会发现这很有用

    查看CMSPluginBase的源代码:

    占位符在呈现方法中作为上下文传递

    因此,在模板中,您可以使用它来呈现不同的输出。一个很好的例子是:

    context['placeholder'] = placeholder