Как проверить длину заголовка страницы в sharepoint 2010? - PullRequest
3 голосов
/ 23 июля 2010

Чтобы облегчить навигацию, мы бы предпочли, чтобы наши пользователи создавали только страницы с заголовком длиной не более 30 символов.Есть ли относительно легкий способ сделать это?Я видел решение javascript, в котором используется метод PreSaveAction, но это не совсем то, что я ищу, так как он работает для всего сайта (будь то в настройках сайта или в интерфейсе внешнего интерфейса с использованием ленты).

В настоящее время мы разворачиваем наши типы контента с помощью функции в Visual Studio, если это помогает.

edit: кроме того, это также должно ограничивать длину URL, верно?Например, мы бы предпочли, чтобы наши пользователи не создавали очень длинные имена страниц, которые не являются дружественными для пользователя, и т. Д., И т. Д., И т. Д., И т. Д. Aspx

Ответы [ 3 ]

2 голосов
/ 30 июля 2010

Я думаю, что вам лучше всего реализовать приемник событий элемента списка. Вы можете нажать на события ItemAdding, ItemUpdating и ItemFileMoving, чтобы санировать URL-адрес более короткой длины или выдать ошибку. Получатель события элемента является надежным, поскольку он работает на сервере независимо от клиента, будь то Office, Windows Explorer, SOAP или веб-интерфейс.

Получатель может быть связан с типом контента или отдельными списками. Если вы связываетесь с типом контента и выбираете Item в качестве типа контента, то вуаля, это универсально. Если вы хотите применить его ко всем сайтам и семействам сайтов, взгляните на степлеры функций. Идея заключается в том, что вы активируете функцию приема событий на всех существующих сайтах, а функция сшивателя активирует ее для вас на всех будущих сайтах. Если вы сделаете эту функцию скрытой, ваши пользователи не смогут ее отключить.

Если вы действительно хотите сделать все возможное, вы можете настроить формы, используемые для создания новых страниц, с небольшой проверкой JavaScript или просто с помощью MaxLength в текстовом поле; однако я предпочитаю избегать настройки системных файлов.

Удачи!

1 голос
/ 02 августа 2010

Лучшее, что вы можете сделать, это изменить файл, который создает страницу, это трюк SharePoint 2007, но он будет работать и в 2010 году.Страница, которая появляется, когда вы говорите, что новая страница - / _ layouts / CreatePublishingPageDialog.aspx , сделайте копию этой страницы и назовите ее / _ layouts / CreatePublishingPageDialog_new.aspx или как вам угодно.На новой странице добавьте свое подтверждение, чтобы вы могли ограничить заголовок 30 симв.Тем не менее, вы можете подключить обработчик событий нажатия кнопки и ограничить URL-адрес страницы меньшей длиной.

Теперь у нас есть настраиваемая страница, которая будет выполнять всю проверку, следующий шаг - открыть эту страницу вместо оригинальнойстр.Вы можете достичь этого, используя шаги в этой статье .Обратите внимание, что вам нужно отредактировать файл SiteAction.xml , в статье рассказывается о панели инструментов редактирования страницы, но вы делаете то же самое и с действием на сайте. Полная копия этого файла присутствует в C: \ Program Files\ Common Files \ Microsoft Shared \ Расширения веб-сервера \ 14 \ TEMPLATE \ LAYOUTS \ EditingMenu \ SiteAction.xml

Редактировать: Эта ссылка содержит ссылку о том, как выполнить настройку для CreatePage.aspx (MOSS)

0 голосов
/ 05 августа 2010

Я думаю, что, возможно, нашел свой собственный элегантный ответ, который не требует никакого кода :) Я могу поставить проверку в библиотеке страниц, перейдя в настройки библиотеки страниц> Настройки проверки.Если я использую это в моем поле формулы =LEN(Title)<=30, оно делает именно то, что я хочу.

Однако в диалоге добавления страницы все еще есть странное поведение, хотя оно показывает ошибку, но все равно создает страницув черновике: / Мне придется посмотреть на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...