Как использовать список с другого сайта в MOSS?

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


person Ryan Michela    schedule 18.09.2008    source источник


Ответы (6)


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

Единственный доступный вам вариант — использовать веб-часть запроса содержимого (доступно в SharePoint Standard или более поздней версии).

Вот вы можно использовать CQWP.

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

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

person Toni Frankola    schedule 18.09.2008

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

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

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

person Eugene Katz    schedule 18.09.2008

Пара моментов.

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

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

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

person cascadianista    schedule 21.09.2008

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

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

SPWeb web = site.OpenWeb(webName);

Список SPList = web.Lists[listName];

Запрос SPQuery = новый SPQuery();

запрос.Запрос = СтрокаЗапроса;

строка html = list.RenderAsHtml (запрос);

вывод.Написать(html); //output — это объект HtmlTextWriter в методе RenderWebPart.

person ashwnacharya    schedule 18.09.2008

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

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

person Daniel O    schedule 22.09.2008

Веб-часть Content Query или веб-часть Enhanced Content Query с открытым исходным кодом — хорошие способы добиться этого. Если у вас нет MOSS, но есть WSS, ответы г-на Каца и г-на Эшвина приемлемы, но это разные способы ответа на этот вопрос.

person Community    schedule 19.09.2008
comment
Ну, я сказал, что он доступен только в SharePoint Standard или выше. - person Toni Frankola; 22.09.2008
comment
Я исправил вопрос. Я имел в виду MOSS, когда задавал вопрос. - person Ryan Michela; 26.09.2008
comment
Френки, ты это сказал. Никакого неуважения не имелось в виду. Райан, спасибо за уточнение. - person Tom Resing; 22.11.2008