3

私は、さまざまなドキュメントがたくさんあるウェブサイトをやっています。彼らはあらゆる種類のフィルターなどを実行したいので、そのようにする必要があります。

それは多くの構造を持つ非常に大きな会社であるため、コンテンツの石の階層が本当に設定されています.

そうすれば、一部のフォルダー内でのみ、ある種のコンテンツタイプが必要になります。

私がそれを機能させた唯一の成功した方法は、コンテンツタイプごとにグローバルに追加可能なフォルダーのようなコンテンツタイプを作成することでした.

したがって、彼らの FTI 定義では (グローバルに追加可能なフォルダーのようなコンテンツ タイプについて):

...
  <property name="allowed_content_types">
    <element value="the.only.desired.contenttype" />
  </property>
...

「新規追加...」ドロップダウンに「コンテンツタイプの制限」が表示されていましたが、これは私の場合、22個のコンテナとさらに22個のコンテンツタイプがあるため、非常に役立ちますが、その「コンテンツタイプの制限」では1 つのコンテナーと 22 のコンテンツ タイプしかありません。

Dexterityでそれを行う方法はありますか?

4

1 に答える 1

1

あなたの器用さの質問に対する直接の答えではありませんが...

一部のフォルダ内でのみ、ある種のコンテンツタイプが必要です。

私は、フォルダローカル権限がこれにうまく機能することを発見しました。

  • カスタムコンテナタイプは必要ありません。通常のフォルダを使用するだけです。
  • 理想的には、各アイテムタイプには、それぞれ独自の追加権限が必要です。たとえばACME: Add Thing 1ACME: Add Thing 2Thing1タイプとThing2タイプの場合です。
  • サイトルート(つまり、rolemap.xml)で権限を持つロールを設定するのではなく、必要なフォルダにのみロールを設定します。

それでおしまい。これらのコンテンツタイプの残りの設定は通常どおりです。それらをグローバルに追加可能にします。権限の割り当ては、選択した特定のフォルダにのみ実際に追加できることを意味します。

そのフォルダに通常のタイプ(ページ、リンクなど)を追加したくない場合は、関連する追加権限の取得をオフにします。

これは、ワークフローのみを使用してサイトルートの下のアクセス許可を管理するという(非常に賢明な)ルールを破っても問題がない場合の1つです。どこに行ったのかわからなくなるのは簡単なので、コードでローカル権限を設定して、setuphandlers.py影響を受けるフォルダーを明確に記録します。

于 2011-10-15T08:22:18.297 に答える