Products.PloneGlossary用語集の使用は、コンテンツタイプ(箱から出してすぐに機能します)およびパス(用語集は/ one / part / of / my / plone/にのみ使用する必要があります)によって制限する必要がある場合があります。サイト)。これを行う方法はありますか?
5 に答える
これは、箱から出して構成できるようです。構成レットで、「すべてのコンテンツにグローバルに用語集を使用しますか?」を確認してください。がオフになっている場合:次に、使用可能なパスに用語集を配置し、サイトルートに空の用語集を配置します。
コンテンツタイプのクローンを作成してから、用語集を有効にするセクションでのみそれらのコンテンツタイプを使用できます。しかし、それはかなりエレガントではない、と私は認めます。他の誰かが、PloneGlossaryをこのように「配置可能」に変更する方法についてより良いアイデアを持っているかもしれません。
Plone 4を使用している場合は、ボディクラス「portaltype-xxx」があります。たぶん、このクラスがBODY要素、jQueryの数行にアタッチされている場合にのみ実行するように、用語集のjavascriptを少しカスタマイズできます。
if(jq('body')。hasClass('portaltype-xxx')){...}
または、portal_javascriptツールのglossay javascript条件を変更して、object.portal_type=='xxx'の場合にのみ表示されるようにすることもできます。
幸運を
PloneGlossaryがどのように機能するかはわかりませんが、権限でこれを制限しようとしましたか?「共有」タブを使用して、一部のフォルダーでPloneGlossaryを許可するローカルロールを割り当てます...
最も簡単な解決策は、ploneglossary.jsファイルの登録の「条件」を自分のニーズに合わせてカスタマイズすることだと思います。関連するコンテンツタイプのスキーマを拡張し、新しいフィールド「showGlossary」を追加します。条件は、オブジェクトの値をチェックできます。
このアプローチは、PloneGlossaryのカスタマイズを必要とせず、ポリシーパッケージ内で直接実行できます。