Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: Ryan MichelaОтветов: 6

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

sharepointmoss

Ответы

Ответ 1 · рейтинг 1 · Toni Frankola

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

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

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

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

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

Ответ 2 · рейтинг 4 · Eugene Katz

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

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

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

Ответ 3 · рейтинг 2 · cascadianista

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

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

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

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

Ответ 4 · ashwnacharya

Вы должны получить объект 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.

Ответ 5 · Daniel O

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

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

Ответ 6 · Community

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы