我通过扩展CMSPluginBase创建了一个django cms插件, 但是,当我将其添加到页面时,它也显示为所有其他页面上的建议。例如,如果我有一个图像插件,我将其添加到页面,我不希望看到该图像显示在所有其他页面上。
无论如何我无法将插件绑定到在docs中创建的页面。
答案 0 :(得分:0)
插件是通用的,重点是默认情况下您可以将它们添加到任何位置,因为在构建可能提供所需功能或功能的页面时。但是,您可以使用CMS_PLACEHOLDER_CONF
设置限制占位符中显示的插件。
因此,简单的解决方案是定义所有占位符&您使用CMS_PLACEHOLDER_CONF
在其中允许的插件。例如;
CMS_PLACEHOLDER_CONF = {
'audio': {
'plugins': ['AudioPlugin', ],
'name': gettext("Audio"),
},
'content': {
'plugins': [
'LinkPlugin', 'TextPlugin',
],
'text_only_plugins': [
'AudioTextPlugin', 'FilePlugin', 'LinkPlugin', 'QuoteTextPlugin',
'VideoTextPlugin'
],
'name': gettext("Content"),
},
'gallery': {
'plugins': ['ImageGalleryCMSPlugin', ],
'name': gettext("Image galleries"),
}
}
如果您想确保某个插件只出现在某个占位符的某个页面上,那么您可以创建一个特定的模板。