6

私は器用さベースの plone アプリケーションに取り組んできました。新しいタイプをいくつか作成しました。これは、「activity_report」という名前の特定の器用さコンテンツ タイプに対するコメントをアクティブにするために行ったことです。

Plone コントロール パネルで

[ディスカッション] セクションで、次を有効にしました。

  • コメントをグローバルに有効にする
  • 匿名コメントを有効にする

タイプセクションで、ドロップダウンから「アクティビティレポート」タイプを選択し、「コメントを許可する」オプションを有効にしました。

ファイルシステム上

FTI ファイル activityreport.xml 内:

<property name="allow_discussion">True</property>

インスタンスを再起動し、製品を再インストールしましたが、器用さタイプのコメント セクションを有効にできません。

標準タイプ (例: ページ) ではディスカッション モジュールを有効にできることに注意してください。

足りないものはありますか?

4

4 に答える 4

3

plone.app.discussion は現在、すべてのコンテナのコメントを無効にしています (議論についてはhttps://dev.plone.org/ticket/11245を参照してください)。

あるプロジェクトで次のようなモンキー パッチを使用して、通常のチェックを省略し、フォルダーのようなコンテンツ タイプに対してコメントが有効になっていることを確認しました。

from Acquisition import aq_inner
from Products.highcountrynews.content.interfaces import IHCNNewsArticle
from plone.app.discussion.conversation import Conversation
old_enabled = Conversation.enabled
def enabled(self):
    parent = aq_inner(self.__parent__)
    if parent.portal_type == 'my_portal_type':
        return True
    return old_enabled(self)
Conversation.enabled = enabled

ここで、'my_portal_type' はもちろん、コメントを有効にしたい portal_type です。

于 2012-05-02T00:19:33.580 に答える
2

David の応答は正確ではありません。モンキーパッチを適用するクラスはplone.app.discussion.browser.conversation.ConversationViewです:

from Acquisition import aq_inner
from plone.app.discussion.browser.conversation import ConversationView
old_enabled = ConversationView.enabled

def enabled(self):
    parent = aq_inner(self.__parent__)
    if parent.portal_type == 'My_type':
        return True
    return old_enabled(self)

少なくとも Plone 4.2 では動作します。しかし、ヒントをくれたデイビッドに感謝します。

于 2012-07-04T10:44:55.850 に答える
2

David と Victor がすでに指摘しているように、会話クラスの enable メソッドをオーバーライドするだけです。会話クラスにモンキーパッチを適用するよりも少しクリーンな次のアプローチを使用することをお勧めします。

https://github.com/plone/plone.app.discussion/blob/master/docs/source/howtos/howto_override_enable_conversation.txt

また、最近 plone.app.discussion に器用さタイプのサポートを追加したので、新しいリリースがあるとすぐに会話クラスをカスタマイズする必要がなくなります:

https://github.com/plone/plone.app.discussion/commit/0e587a7d8536125acdd3bd385e880b60d6aec28e

このメソッドは、フォルダ風オブジェクトのコメントをサポートしていることに注意してください。フォルダーのようなオブジェクト内のオブジェクトのコメントを有効/無効にするサポートはまだありません。

動作フィールド/ウィジェットでコメントのオン/オフを切り替えられるようにしたい場合:

https://github.com/plone/plone.app.dexterity/commit/0573df4f265a39da9efae44e605e3815729457d7

これは次の plone.app.dexterity リリースにも反映されることを願っています。

于 2012-07-05T10:44:15.757 に答える
1

私はconfigure.zcmlで解決しました:

<interface interface="Products.CMFPlone.interfaces.INonStructuralFolder" />

<class class="Products.PloneHelpCenter.types.Definition.HelpCenterDefinition">
  <implements interface="Products.CMFPlone.interfaces.INonStructuralFolder" />
</class>

更新: これは良い考えではありません。この修正が適用された各コンテンツ タイプの [追加] メニューが見つからないという問題がありました。

于 2015-06-24T08:32:26.143 に答える