Ограничение глоссарий функциональность к определенным частям сайта
Вопрос
У нас есть случай, когда использование Products.ploneglossary Глоссарий должен бытьОграниченный тип контента (который работает из коробки) и по пути (глоссарий должен использоваться только для / одна / часть / из / my / plone / сайт).Есть ли способ сделать это?
Решение
Это кажется настраиваемым из коробки.В Конфигурация Убедитесь, что используйте глоссарии во всем мире для всего контента?"не проверяется: затем поставьте свой глоссарий на путь, где вы хотите, чтобы это было полезно, и положите пустой глоссарий на корень сайта.
Другие советы
Ну, вы можете клонировать типы содержимого, а затем использовать эти типы содержимого только в разделе, где вы хотите, чтобы они были включены в глоссарий.Но это довольно неелегант, я признаю.Кто-то еще может иметь лучшее представление о том, как модифицировать Ploneglossary, чтобы быть «забавленным», как это.
Если вы находитесь на Plone 4, у вас есть класс тела «PortalType-XXX».Может быть, вы можете настроить маленький глоссарий JavaScript, чтобы запустить только в том случае, если этот класс при подключении к элементу тела, несколько строк jQuery:
Если (JQ («тело»). hasclass ('portaltype-xxx')) { ... }
Или вы можете изменить состояние JavaScript GloSay в инструменте Portal_Javascript, чтобы появиться только в том случае, если object.portal_type== 'xxx'.
Удачи
Не уверен, как Ploneglossary работает, но вы пробовали ограничить это с разрешениями?Используйте вкладку «Общий доступ», чтобы назначить локальные роли, которые позволяют Ploneglossary в какой-то папке ...
Я думаю, что самое простое решение состоит в том, чтобы настроить «условие» регистрации файла Ploneglossary.js в мои собственные потребности.Я расширяющую схему связанных типов связанных контент и дать ему новую поле «ShowGlossary».Условие может проверить значение объекта.
Этот подход не требует каких-либо настроек Ploneglossary и может быть достигнут непосредственно внутри моей политики.