Пользовательский ListView в приложении SharePoint 2013

#listview #sharepoint #sharepoint-2013 #sharepoint-apps #sharepoint-branding

#listview #sharepoint #sharepoint-2013 #sharepoint-приложения #sharepoint-брендинг

Вопрос:

Я создал список в приложении SharePoint 2013 и Schema.xml содержит следующий узел, связанный с представлением AllItems.

     <View BaseViewID="1" 
    Type="HTML" 
    WebPartZoneID="Main" 
    DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" 
    DefaultView="TRUE" 
    OrderedView="TRUE" 
    MobileView="TRUE" 
    MobileDefaultView="TRUE" 
    SetupPath="pagesviewpage.aspx" 
    ImageUrl="/_layouts/15/images/generic.png?rev=23" 
    Url="AllItems.aspx">
  

Я хотел бы SetupPath="pagesviewpage.aspx заменить его своей собственной страницей, чтобы я мог пометить его в соответствии с требованиями моего клиента. Я уже создал свой PagesCustomViewPage.aspx , но не могу понять, как ссылаться на свою пользовательскую страницу.

Я пробовал следующие атрибуты. Я заменил SetupPath на Path , см. Элемент просмотра (список):

     <View BaseViewID="1" 
    Type="HTML" 
    WebPartZoneID="Main" 
    DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" 
    DefaultView="TRUE" 
    OrderedView="TRUE" 
    MobileView="TRUE" 
    MobileDefaultView="TRUE" 
    Path="~site/pages/customviewpage.aspx" 
    ImageUrl="/_layouts/15/images/generic.png?rev=23" 
    Url="AllItems.aspx">
  

Если я использую Path="~site/pages/customviewpage.aspx" или Path="../pages/customviewpage.aspx" , приложение не может быть развернуто, и ошибка не очень полезна (SharePoint Online):

     @"Error 1
    CorrelationId: aedf6556-ac09-4b0e-9367-905c81563a57
    ErrorDetail: There was a problem with activating the app web definition.
    ErrorType: App
    ErrorTypeName: App Related
    ExceptionMessage: <nativehr>0x80131600</nativehr><nativestack></nativestack>
    Source: AppWeb
    SourceName: App Web Deployment
    Error occurred in deployment step 'Install app for SharePoint': 
    Failed to install app for SharePoint. Please see the output window for details.
  

Если вы знаете, как ссылаться на свою собственную пользовательскую страницу ListView, напишите мне, пожалуйста.
Спасибо.

Ответ №1:

Я нашел обходной путь, это не совсем то, что я искал, но пока сойдет.

  1. У меня была папка PagesCustomViewPage.aspx под папкой Pages , затем я переместил свою пользовательскую страницу ListsMyListCustomViewPage.aspx .
  2. Щелкните правой кнопкой мыши ListsMyListCustomViewPage.aspx и выберите Свойства.
  3. Задайте тип развертывания: ElementFile.
  4. Затем установите View тег следующим образом. Пожалуйста, обратите внимание, что атрибут SetupPath был заменен на Path :

     <View BaseViewID="1" 
    Type="HTML" 
    WebPartZoneID="Main" 
    DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" 
    DefaultView="TRUE" 
    OrderedView="TRUE" 
    MobileView="TRUE" 
    MobileDefaultView="TRUE" 
    Path="customviewpage.aspx" 
    ImageUrl="/_layouts/15/images/generic.png?rev=23" 
    Url="AllItems.aspx">
      

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

Комментарии:

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

Ответ №2:

ДА. Все страницы просмотра внутри списка SharePoint создаются непосредственно по пути списка SharePoint. Библиотека страниц предназначена для текущей области сайта. Вы не можете использовать страницы библиотеки Pages в качестве страницы просмотра списка. Это проблема с относительным путем, и все, что вы внедрили, правильно!