私は Plone 4.1 で作業していますが、Products.CMFPlone.interfaces.IPloneSiteRoot と Products.CMFCore.interfaces.ISiteRoot の違いを知りたいだけです。Zope-3 スタイルのビューを登録したい場合、どちらに登録すればよいですか?
2 に答える
サイト ルートを使用する場合は常に、代わりに plone.app.layout.navigation.interfaces.INavigationRoot の INavigationRoot を使用することになります。
INavigationRoot は Plone サイト オブジェクトによって提供されますが、任意のサブサイトのナビゲーション ルートまたは多言語サイトの最上位フォルダーによっても提供されます。特に多言語サイトでは、ユーザーは実際のサイト ルート自体をナビゲートしたり表示したりすることはないため、それに関連付けられている機能は利用できません。
ISiteRoot は、エクスポート インポート ハンドラーやその他の内部ロジックなどに対してのみ意味があり、エンド ユーザーに表示される機能に対しては意味がありません。
IPloneSiteRoot は特定の種類の ISiteRoot です。IPloneSiteRoot は Plone サイトのルートによって提供されますが、ISiteRoot は任意の CMF ポータルによって提供されます。あなたの製品が Plone でのみ動作することを意図している場合、どのインターフェースを使用するかは問題ではありません。他の CMF ベースのアプリケーションで使用できるようにする場合は、ISiteRoot を使用します。
率直に言って、入力が短いという理由だけで、私は通常 ISiteRoot を使用します。:)