Ограничение функциональности глоссария определенными частями сайта


Мы имеем случай, когда использование продуктов .Глоссарий PloneGlossary должен быть ограничен типом контента (который работает из коробки) и путем (глоссарий должен использоваться только для /одной/части/моего/plone/сайта). Есть ли способ сделать это?

5 3

5 ответов:

Это кажется настраиваемым из коробки. В configlet Убедитесь ,что " использовать глоссарии глобально для всего содержимого? затем поместите свой глоссарий в путь, где вы хотите его использовать, и поместите пустой глоссарий в корень сайта.

Ну, вы можете клонировать типы контента, а затем использовать эти типы контента только в том разделе, Где вы хотите, чтобы они были включены в глоссарий. Но это довольно неэлегантно, я признаю. У кого-то другого может быть лучшая идея о том, как изменить PloneGlossary, чтобы быть "placeful", как это.

Если вы находитесь на Plone 4, у вас есть класс тела "portaltype-xxx". Может быть, вы можете немного настроить глоссарий javascript, чтобы запускать только если этот класс в прикрепленном к телу элементе, несколько строк jQuery:

If (jq ('тело').hasClass ('portaltype-xxx')) { ... }

Или вы можете изменить условие glossay javascript в инструменте portal_javascript, чтобы он отображался только если объект.portal_type=='ХХХ'.

Удачи

Не знаю, как работает PloneGlossary, но вы пробовали ограничить это разрешениями? Вкладка используйте для назначения местного ролей, которые позволяют PloneGlossary на какую-либо папку ...

Я думаю, что самое простое решение-это настроить "условие" регистрации плонеглоссария.JS файл для моих собственных нужд. Я расширю схему связанных типов контента и дам ей новое поле "showGlossary". Условие может проверить значение объекта.

Этот подход не требует каких-либо настроек PloneGlossary и может быть реализован непосредственно в моем пакете политик.