Настраиваемое представление списка SharePoint - можно ли добавить его в функцию (WSP)? - PullRequest
1 голос
/ 05 мая 2009

Вот моя ситуация:

Я работаю в SharePoint 2007 Enterprise, у меня есть функция, которая создает список для меня при развертывании и активации. До сих пор моим обычным рабочим процессом было развертывание решения, его активация, а затем открытие SharePoint Designer для настройки списка.

Мои настройки, как правило, довольно сложные, но я сделаю все просто. В этом случае давайте просто скажем, что я редактирую AllItems.aspx, преобразую представление данных в представление данных XSLT, а затем добавляю один столбец со статическим текстом.

Я использовал несколько различных инструментов (SPSource, VSeWSS, SharePoint Manager, OCDExportList и т. Д.) Для извлечения моего пользовательского schema.xml и всех представлений по умолчанию, но мне еще не посчастливилось выяснить, где код теперь AllItems.aspx настроено.

Когда я извлекаю (используя любой из вышеперечисленных инструментов), AllItems.aspx ничем не отличается от значения по умолчанию. Элемент <View> в schema.xml сокращен до одной строки, например:

<View DefaultView="TRUE" 
      MobileView="TRUE" 
      MobileDefaultView="TRUE" 
      Type="HTML" 
      FPModified="TRUE" 
      DisplayName="All Documents" 
      Url="Forms/AllItems.aspx" 
      Level="1" 
      ContentTypeID="0x" />

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

Если есть какая-то другая информация, которую мне не хватает, которая могла бы помочь, дайте мне знать ... спасибо!


Последние выводы :

Я узнал немного больше за последние пару часов. Если я сохраню список как шаблон списка, а затем сохраню файл .stp локально как файл .cab, я смогу извлечь его содержимое. Один из файлов manifest.xml, который содержит schema.xml, а также несколько других разделов.

Один из этих разделов - это раздел <webparts>, который имеет <webpart> для каждого представления. Каждый из этих <webpart> элементов содержит действительно длинную строку символов ... не знаю, что на самом деле представляют эти символы.

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

Ответы [ 3 ]

1 голос
/ 05 июня 2009

Да, вы можете. Получите инструмент менеджера Sharepoint от Codeplex http://spm.codeplex.com/

Установите его на машине в вашей ферме, это позволит вам просматривать ферму с помощью дерева, в котором отображаются все объекты.

Составьте список через графический интерфейс Sharepoint, затем перейдите к нему с SPM.

SPM позволит вам извлечь созданный MOSS / WSS xml, который описывает представление списка (оно отображается в левой сетке свойств), который затем вы можете добавить в файл manifest.xml

1 голос
/ 05 мая 2009

Я столкнулся с подобной проблемой некоторое время назад. Мне пришлось создать очень персонализированное представление, и мне пришлось полностью отказаться от ListFormWebPart и создать собственную веб-часть для отображения данных.

Как правило, когда вы настраиваете файл aspx в SPDesigner, все ваши изменения будут в самом файле aspx. Откройте его в SPDesigner, и вы увидите там все сделанные вами изменения. После преобразования в представление данных XSL стандартный ListFormWebPart заменяется на DataFormWebPart, который не заботится о тегах <View>, указанных в schema.xml; Найдите в файле aspx список ListFormWebPart.

Почему бы не выполнить все необходимые настройки в списке, сохранить список в качестве шаблона (он будет включать связанный AllItems.aspx), а затем использовать этот шаблон в своей функции для создания списка? Вы можете добавить дополнительный столбец из кода (если он динамический и не может быть включен в шаблон) и т. Д.

0 голосов
/ 30 мая 2009

У меня похожая проблема, и я много исследовал это. Веб-часть dataview для меня является одним из самых мощных компонентов в Sharepoint. К сожалению, я должен предоставить свое решение в виде пакета .wsp, а это значит, что я не могу просто создать сайт и использовать Designer на этом сайте. Я использовал двухэтапный подход, в котором я использовал конструктор для создания моего dataview, и я также отредактировал код этого dataview, чтобы заменить ListID и Guids на ListName и фактическое имя списка. Это позволяет экспортировать и использовать его на любой странице / сайте, если имя списка совпадает. Я также создаю библиотеку документов страниц веб-частей в своем решении и считаю, что могу добавить страницы, содержащие веб-части, в эту библиотеку, используя файл onet.xml. Я постараюсь получить результаты этого теста, как только смогу.

...