SPOnline: после включения функции / актива в мою SPfx WebPart я не могу разместить ее на любой странице сайта - PullRequest
1 голос
/ 30 апреля 2019

Я пытаюсь добавить некоторую функцию обеспечения в мой проект SPfx WebPart в SharePoint Online.Проблема в том, что как только я помещаю информацию о функции в свой package-solution.json, настроенные списки развертываются правильно, но я не могу добавить саму WebPart на страницу сайта.

Я работаю с Visual StudioКод в проекте SPfx WebPart для SharePoint Online.Я уже развернул множество WebParts a Extensions внутри клиента нашего Companys, но я довольно новичок в этом вопросе с функциями и активами.

Моему WebPart нужны два конкретных списка, которые он должен развернуть сам при добавлении всодержимое сайта согласно [Новое] -> [Приложение].Поэтому я добавил в свой проект файлы elements.xml и две схемы - *. Xml и изменил файл package-solution.json, добавив их в качестве функции.

С тех пор списки правильно развертываются в SiteCollection илиПодсайт, где я добавляю приложение.НО (!) Сама веб-часть не отображается при редактировании веб-страницы и добавлении веб-частей.Его нет даже во всплывающем окне, где вы выбираете нужную веб-часть.

При добавлении приложения и SiteCollection ошибок установки не возникает, а веб-часть работает хорошо, когда информация о компоненте удаляется из package-solution.json..

А вот и я, понятия не имею, что не так, и мне нужна ваша помощь.

package-solution.json

{
  "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json",
  "solution": {
    "name": "sp-bookingtool-admin",
    "id": "30d57d62-8319-4b29-b0f9-***********",
    "version": "2.0.0.6",
    "features": [
      {
        "title": "sp-bookingtool-admin-features",
        "description": "asset-deployment-webpart-client-side-solution",
        "id": "523fe887-ced5-4036-b564-***********",
        "version": "2.0.0.6",
        "assets": {
          "elementManifests": [
            "elements.xml"
          ],
          "elementFiles": [
            "schema-sessions.xml",
            "schema-courses.xml"
          ]
        }
      }
    ]
  },
  "paths": {
    "zippedPackage": "solution/sp-bookingtool-admin.sppkg"
  }
}

elements.xml

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

    <ListInstance
            CustomSchema="schema-sessions.xml"
            FeatureId="00bfea71-de22-43b2-a848-***********"
            Title="BookingTool-Sessions"
            Description="BookingTool-Sessions"
            TemplateType="100"
            Url="Lists/BookingToolSessions">
    </ListInstance>

    <ListInstance
            CustomSchema="schema-courses.xml"
            FeatureId="00bfea71-de22-43b2-a848-***********"
            Title="BookingTool-Courses"
            Description="BookingTool-Courses"
            TemplateType="100"
            Url="Lists/BookingToolCourses">
    </ListInstance>

</Elements>

1 из двух schema.xml

<List xmlns:ows="Microsoft SharePoint" Title="BookingTool-Courses" EnableContentTypes="TRUE" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/BookingToolCourses" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">
  <MetaData>
    <Fields>
      <Field ID="{1e513910-8092-45f7-b996-***********}" Name="Text_1" Type="Text" DisplayName="Text_1"  Group="" Required="TRUE"/>
      <Field ID="{d82721d4-0b3c-48cf-9a24-***********}" Name="Text_2" Type="Text" DisplayName="Text_2" Group="" Required="TRUE"/>
    </Fields>
    <Views>
      <View BaseViewID="1" Type="HTML" WebPartZoneID="Main" DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" DefaultView="TRUE" MobileView="TRUE" MobileDefaultView="TRUE" SetupPath="pages\viewpage.aspx" ImageUrl="/_layouts/images/generic.png" Url="AllItems.aspx">
        <RowLimit Paged="TRUE">30</RowLimit>
        <Toolbar Type="Standard" />
        <ViewFields>
          <FieldRef Name="LinkTitle"></FieldRef>
        </ViewFields>
        <Query>
          <OrderBy>
            <FieldRef Name="LinkTitle" />
          </OrderBy>
        </Query>
      </View>
    </Views>
    <Forms>
      <Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
      <Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
      <Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
    </Forms>
  </MetaData>
</List>

1 Ответ

0 голосов
/ 02 мая 2019

Благодаря коллеге, я обнаружил ошибку самостоятельно.

Вопреки моим ожиданиям, "FeatureID" в ListInstances НЕ является GUID разработанной функции, НО идентификатор шаблонной таблицы, которую вы используете в зависимости от "TemplateType ".

<ListInstance
            CustomSchema="schema-sessions.xml"
            FeatureId="00bfea71-de22-43b2-a848-c05709900100"
            Title="BookingTool-Sessions"
            Description="BookingTool-Sessions"
            TemplateType="100"
            Url="Lists/BookingToolSessions">
 </ListInstance>

00bfea71-de22-43b2-a848-c05709900100 - это идентификатор для пользовательских списков, а 100 - это тип шаблона для этого списка.

...