避免创建 Plone 的默认内容
Avoid creation of Plone's default content
我正在创建一个安装 plone.app.contenttypes 作为默认内容类型的 Plone 4.3 站点的项目。网站创建后,我看到所有默认内容(首页和一些文件夹和集合)仍然是基于原型的内容。
我想避免创建该内容,我想知道是否有更好的方法来删除它,即在 post 安装步骤中手动删除它。
我默认需要一个空站点。
您需要按照以下方式设置 Plone 站点:
from Products.CMFPlone.factory import addPloneSite
from Products.CMFPlone.factory import _DEFAULT_PROFILE
default_profiles =('plonetheme.classic:default', 'plonetheme.sunburst:default')
return addPloneSite(
app,
site_id,
title=title,
profile_id=_DEFAULT_PROFILE,
extension_ids=default_profiles,
setup_content=False,
default_language='en')
重要的部分是setup_content=False
。
没有初始内容,没有 portlet...什么都没有。
您可以在 ftw.inflator
-> https://github.com/4teamwork/ftw.inflator/blob/00b8b984e7dc1052a7fb94d2e82455a66b271da7/ftw/inflator/bundle.py#L23
中查看这个完整的工作示例
默认情况下,有几种修补 Plone 的方法可以实现此行为。
一种是使用 z3c.jbot 覆盖以下模板:
Products/CMFPlone/browser/templates/plone-addsite.pt
另一种是在您的 Buildout 配置中使用 collective.recipe.patch,如下所示:
parts += patches
...
[patches]
recipe = collective.recipe.patch
egg = Products.CMFPlone==4.3.10
patches = ${buildout:directory}/patches/setup-content-false.patch
补丁文件的内容是这样的(我很想知道如何在不编辑 git diff
命令的输出的情况下获得它):
diff --git Products/CMFPlone/browser/templates/plone-addsite.pt Products/CMFPlone/browser/templates/plone-addsite.pt
index bc83eb0..3aebbfe 100644
--- Products/CMFPlone/browser/templates/plone-addsite.pt
+++ Products/CMFPlone/browser/templates/plone-addsite.pt
@@ -99,7 +99,7 @@
</span>
</div>
<tal:content tal:condition="not:advanced">
- <input type="hidden" name="setup_content:boolean" value="true" />
+ <input type="hidden" name="setup_content:boolean" />
</tal:content>
<tal:baseprofile condition="python: len(base_profiles) > 1">
我正在创建一个安装 plone.app.contenttypes 作为默认内容类型的 Plone 4.3 站点的项目。网站创建后,我看到所有默认内容(首页和一些文件夹和集合)仍然是基于原型的内容。
我想避免创建该内容,我想知道是否有更好的方法来删除它,即在 post 安装步骤中手动删除它。
我默认需要一个空站点。
您需要按照以下方式设置 Plone 站点:
from Products.CMFPlone.factory import addPloneSite
from Products.CMFPlone.factory import _DEFAULT_PROFILE
default_profiles =('plonetheme.classic:default', 'plonetheme.sunburst:default')
return addPloneSite(
app,
site_id,
title=title,
profile_id=_DEFAULT_PROFILE,
extension_ids=default_profiles,
setup_content=False,
default_language='en')
重要的部分是setup_content=False
。
没有初始内容,没有 portlet...什么都没有。
您可以在 ftw.inflator
-> https://github.com/4teamwork/ftw.inflator/blob/00b8b984e7dc1052a7fb94d2e82455a66b271da7/ftw/inflator/bundle.py#L23
默认情况下,有几种修补 Plone 的方法可以实现此行为。
一种是使用 z3c.jbot 覆盖以下模板:
Products/CMFPlone/browser/templates/plone-addsite.pt
另一种是在您的 Buildout 配置中使用 collective.recipe.patch,如下所示:
parts += patches
...
[patches]
recipe = collective.recipe.patch
egg = Products.CMFPlone==4.3.10
patches = ${buildout:directory}/patches/setup-content-false.patch
补丁文件的内容是这样的(我很想知道如何在不编辑 git diff
命令的输出的情况下获得它):
diff --git Products/CMFPlone/browser/templates/plone-addsite.pt Products/CMFPlone/browser/templates/plone-addsite.pt
index bc83eb0..3aebbfe 100644
--- Products/CMFPlone/browser/templates/plone-addsite.pt
+++ Products/CMFPlone/browser/templates/plone-addsite.pt
@@ -99,7 +99,7 @@
</span>
</div>
<tal:content tal:condition="not:advanced">
- <input type="hidden" name="setup_content:boolean" value="true" />
+ <input type="hidden" name="setup_content:boolean" />
</tal:content>
<tal:baseprofile condition="python: len(base_profiles) > 1">