Веб-часть по умолчанию в зоне веб-части для макета страницы

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/3820

  •  16-10-2019
  •  | 
  •  

Вопрос

Как настроить веб-часть так, чтобы она автоматически добавлялась в зону веб-части при выборе определенного макета страницы?

Решения, которые я пробовал до сих пор:

  1. С использованием <ZoneTemplate> под <WebPartZone> и помещаю туда свою веб-часть
  2. Добавление .webpart-кода непосредственно в <AllUsersWebPart> где я определяю макет страницы в elements.xml
  3. Программное размещение веб-части в макетах страниц при создании структуры сайта (скрипт развертывания).
  4. Добавьте перехватчик, который подключается и добавляет веб-часть.

Проблемы с решениями:

  1. Веб-часть становится статической и не может быть удалена после создания.
  2. придется поместить код .webpart как в файл .webpart, так и в elements.xml (я хочу, чтобы он был автономным и был установлен по умолчанию).И навел беспорядок в моем elements.xml.
  3. Веб-часть будет развернута только в первый раз, поэтому при создании новой страницы с макетом страницы веб-часть не будет включена.
  4. Не знаем как это сделать, так как макет страницы установлен после создание страницы.У нас есть перехватчики для настройки макета страницы по умолчанию в зависимости от того, где в структуре создается страница. Здесь мы также можем добавить веб-часть, но тогда веб-часть будет добавлена ​​только в том случае, если вы создадите страницу в определенном месте.
Это было полезно?

Решение

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

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

Другие советы

Я использовал ваш метод 1.и 2.обширно.Я не могу понять проблему, которую вы описываете для решения 1.Кроме того, имеются оба решения (1.и 2.) недостаток, заключающийся в том, что все веб-части дублируются каждый раз, когда функция развертывания макетов страниц повторно активируется, и вам нужен код очистки, чтобы это исправить.

Я использовал способ номер 1 (в исходном сообщении), и он работает отлично.Веб-части не становятся статическими, если вы не определили свойства веб-части, запрещающие перемещение или закрытие веб-части, или если у вас недостаточно разрешений.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top