3

私は、plone.app.contenttypes をデフォルトのコンテンツ タイプとしてインストールする Plone 4.3 サイトを作成するプロジェクトに取り組んでいます。サイトの作成後、すべてのデフォルト コンテンツ (フロント ページといくつかのフォルダーとコレクション) が表示されますが、これらは依然としてアーキタイプ ベースのコンテンツです。

そのコンテンツの作成を避けたいのですが、インストール後の手順で手動で消去するよりも良い削除方法があるかどうかを知りたいです。

デフォルトで空のサイトが必要です。

4

2 に答える 2

7

次の方法で 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.

初期コンテンツもポートレットもありません...何もありません。

この完全な動作例は、ftw.inflator-> https://github.com/4teamwork/ftw.inflator/blob/00b8b984e7dc1052a7fb94d2e82455a66b271da7/ftw/inflator/bundle.py#L23で確認できます。

于 2016-08-26T13:31:53.063 に答える
0

デフォルトでこの動作を実現するために Plone にパッチを適用する方法がいくつかあります。

1 つは、z3c.jbotを使用して次のテンプレートをオーバーライドする方法です。

Products/CMFPlone/browser/templates/plone-addsite.pt

もう 1 つは、次のように 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">
于 2016-09-16T20:40:27.633 に答える