Ограничить типы контента в документах на ловкость - PullRequest
3 голосов
/ 14 октября 2011

Я делаю сайт, на котором есть много разных документов. Они нужны им таким образом, потому что они хотят делать все виды фильтров и так далее.

Поскольку это действительно большая компания с большой структурой, у них действительно есть каменная иерархия содержания.

Таким образом, только внутри некоторых папок им нужны какие-то типы контента.

Единственный успешный способ заставить его работать - это создать глобальный добавляемый тип содержимого папки для каждого типа контента, который позволяет создавать внутри него только необходимый тип контента и ничего больше.

Итак, в их определении FTI у меня есть (по глобальному типу добавляемой папки):

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

Раньше я видел «Ограничить типы контента» в раскрывающемся списке «Добавить новый ...», что было бы чрезвычайно полезно в моем случае, так как у меня как 22 контейнера и еще 22 типа контента, тогда как с этим «Ограничить» типы содержимого "У меня будет только 1 контейнер и 22 типа содержимого.

Есть ли способ сделать это на Ловкости?

1 Ответ

1 голос
/ 15 октября 2011

Не прямой ответ на ваш вопрос о Ловкости, но ...

только внутри некоторых папок им нужен какой-то тип контента.

Я нашелДля этого прекрасно работают локальные разрешения для папок.

  • Вам не нужны какие-либо пользовательские типы контейнеров - просто используйте обычные папки.
  • В идеале для каждого типа элемента требуется собственное разрешение на добавление, например ACME: Add Thing 1 и ACME: Add Thing 2 для типов Thing 1 и Thing 2 соответственно.
  • Вместо того, чтобы устанавливать роли, которые имеют разрешение в корне сайта (т. Е. В rolemap.xml), устанавливайте их только в папке, где ониТребуется.

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

Если вы не хотите добавлять в эту папку обычные типы (Page, Link и т. Д.), Отключите их.получение соответствующих разрешений на добавление.

Это один из случаев, когда можно нарушить (очень разумное) правило использования только рабочего процесса для управления разрешениями ниже корня сайта.Поскольку легко потерять отслеживание того, где вы были, я установил бы локальные разрешения в коде в моем setuphandlers.py, чтобы была четкая запись о том, какие папки затронуты.

...