Как использовать список с другого сайта в MOSS? - PullRequest
5 голосов
/ 18 сентября 2008

У меня есть список объявлений на одном сайте. Я хочу добавить его в качестве веб-части в начало каждого дочернего сайта. Как я могу сделать это в MOSS?

Ответы [ 6 ]

4 голосов
/ 18 сентября 2008

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

Примерно так:

http://www.sharepointblogs.com/ssa/archive/2007/02/23/showing-web-service-data-in-a-data-view-web-part.aspx

2 голосов
/ 21 сентября 2008

Пара баллов.

Сначала вы указали, что используете WSS 3.0, поэтому CQWP недоступен (вам нужно MOSS и чтобы публикация была включена). Расширенная версия сообщества также не будет работать для вас, поскольку она основана на CQWP.

Во-вторых, я бы согласился с Юджином Кацем, что DataFormWebPart будет простым подходом, и у меня есть несколько иной способ его создания, чем ссылка, которую он опубликовал. В Sharepoint Designer откройте нужный сайт, на котором вы хотите разместить веб-часть. Выберите библиотеку источников данных в меню «Панели задач», затем нажмите «Подключиться к другой библиотеке ...» в нижней части панели и найдите / выберите родительский сайт, содержащий список объявлений. Теперь вы можете просто добавить свое объявление как DataFormWebPart из вновь созданного узла на панели «Библиотека источников данных» так же, как если бы оно было на вашем сайте. Справка Sharepoint Designer показывает, как это сделать, если вы незнакомы.

После того, как вы настроили DataFormWebPart по своему вкусу, вы можете значительно упростить добавление этого к дополнительным сайтам, выполнив следующие действия: выделите только что созданный DataFormWebPart и выберите «Файл» / «Экспорт» / «Сохранить веб-часть в ... / Галерея сайтов» , Теперь он будет доступен во всем семействе сайтов в виде добавляемой веб-части.

1 голос
/ 18 сентября 2008

Из коробки это невозможно. Списки ограничены только одним сайтом.

Единственный вариант, который у вас есть, - это использование веб-части запроса контента (доступно в SharePoint Standard или новее).

Здесь - это то, как вы можете использовать CQWP.

Существует также расширенная версия сообщества здесь .

Вы можете встроить их в шаблоны дочерних сайтов.

0 голосов
/ 22 сентября 2008

Отличной веб-частью для этого является веб-часть Content By Type в Codeplex. Он также поддерживает показ элементов данного типа контента из любого списка на любом дочернем сайте.

См .: http://www.codeplex.com/eoffice

0 голосов
/ 19 сентября 2008

Веб-часть «Запрос контента» или веб-часть «Расширенный запрос контента» с открытым исходным кодом являются хорошими способами для достижения этой цели. Если у вас нет MOSS, но есть WSS, ответы г-на Каца и г-на Эшвина приемлемы, но разные способы ответа этот вопрос.

0 голосов
/ 18 сентября 2008

Вы должны получить объект SPList этого конкретного списка, используя объектную модель SharePoint. Как только вы получите то же самое, вы можете отобразить список, используя метод RenderAsHtml (). Обратите внимание, что метод RenderAsHtml () принимает в качестве параметра объект SPQuery. Вам необходимо создать объект SPQuery с соответствующей строкой запроса. Этот код может войти в переопределение метода RenderWebPart () пользовательской веб-части:

Сайт SPSite = новый SPSite (siteURL);

SPWeb web = site.OpenWeb (webName);

SPList list = web.Lists [listName];

SPQuery query = new SPQuery ();

query.Query = queryString;

string html = list.RenderAsHtml (query);

output.Write (HTML); // вывод - это объект HtmlTextWriter в методе RenderWebPart.

...