В SharePoint, что самый легкий путь состоит в том, чтобы создать пользовательский список файл 'schema.xml'?

Если вы сопоставляете подстроки, вы всегда должны искать более длинное совпадение, а не более короткое:

if (strpos($dir, "ComputerScience") !== FALSE) {
    $sql = "UPDATE documents 
                SET subject = 'ComputerScience' 
            WHERE documentname='".$dir."'";
    mysqli_query($link,$sql);
} elseif (strpos($dir, "Science") !== FALSE) {
    $sql = "UPDATE documents 
                SET subject = 'Science' 
            WHERE documentname='".$dir."'";
    mysqli_query($link,$sql);
}

Вы можете сократить код, предварительно сохранив совпадения в массиве:

$matches = ['ComputerScience', 'Science'];
foreach ($matches as $match) {
    if (strpos($dir, $match) !== FALSE) {
        $sql = "UPDATE documents 
                    SET subject = '$match' 
                WHERE documentname='$dir' ";
        mysqli_query($link, $sql);
        break;
    }
}

Опять же, более длинное совпадение идет первым в массиве. Вы также можете использовать интерполяцию строк для облегчения чтения SQL.

7
задан Peter Mortensen 13 July 2012 в 17:51
поделиться

8 ответов

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

Созданный в определениях списка расположены в 12 ульях как функции:

  • Пользовательский список – Features/CustomList/CustList/schema.xml;
  • Библиотека документа – Features/DocumentLibrary/DocLib/schema.xml;
  • Календарь – Feature/EventsList/Events/schema.xml;
  • Используйте поиск для нахождения других.
4
ответ дан 6 December 2019 в 10:03
поделиться

Моя рекомендация, и что принесет Вам самое близкое к окончательной версии, состоит в том, чтобы использовать веб-интерфейс SharePoint, настраивать Ваш список, поскольку Вы хотите это, включая представления, пользовательские столбцы, и т.д. Затем сохраните список как шаблон.

.stp файл, который Вы получаете, является в основном просто .cab файлом с забавным именем. Переименуйте, чтобы ехать на такси и извлечь декларацию, которая будет включать почти готовый к использованию файл schema.xml для Вас для использования.

То, что необходимо изменить, является путем или setuppath форм списка. Вы найдете их у основания файла manifest.xml. Эти формы при использовании списков SharePoint по умолчанию могут быть установлены на SetupPath = "pages/form.aspx". Вот пример от пользовательского элемента форм списка:

    <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" />

Также необходимо обновить путь Представления для каждого представления, которое должно быть SetupPath = "pages/viewpage.aspx" при использовании форм по умолчанию в исходном сайте.

Обратите внимание, что необходимо изменить другие атрибуты также, но если Вы удостоверяетесь, что следовали wss.xsd схеме и что Ваш пользовательский список, который schema.xml проверяет к wss.xsd схеме, необходимо быть в порядке.

.b

4
ответ дан 6 December 2019 в 10:03
поделиться

С Windows SharePoint Services 3.0 Инструмента: Расширения Visual Studio 2008 года, Версия 1.2 прибывает приложение, названное "Генератор Решения SharePoint 2008". Это приложение имеет некоторые ограничения (худшим является IMO, что столбцы поиска исчезают), но это создает файлы, которые необходимо создать т.е. функция из существующего Списка SharePoint. Это включает schema.xml.

3
ответ дан 6 December 2019 в 10:03
поделиться

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

Любое поколение схемы полагалось бы на контекст, поскольку GUID для любых пользовательских полей будут характерны для того набора сайта SharePoint, если они не будут установлены как часть ранее указанной функции (уже полагающийся на XML-схему, созданную).

Менеджер по SharePoint является хорошим инструментом для этого, не потому что это характерно для этой проблемы, но потому что это - очень полезный способ получить все виды информации (как схема) из экземпляра SharePoint.

3
ответ дан 6 December 2019 в 10:03
поделиться

Я всегда использую расширения Gary Lapointes STSADM для извлечения такого материала. Таким образом, я создаю его сначала использование GUI и затем извлекаю списки, типы контента, столбцы сайта, и т.д. с помощью соответствующего метода.

Проверьте список Garys расширений в Командах STSADM/PowerShell.

3
ответ дан 6 December 2019 в 10:03
поделиться

При добавлении на ответ EG, если Вы только хотите изменить поля, присоединенные к существующему списку (но оставить представления, и т.д. по существу то же), необходимо будет изменить вещи в по существу двух местах: список/Метаданные/Поля и List/MetaData/Views/View/ViewFields.

Раздел Fields относительно прост, предполагая, что Вы следуете документации.

Чтобы заставить столбцы обнаруживаться в высказанном мнении, необходимо будет отредактировать раздел ViewFields для высказанного мнения. Например, если у Вас есть столбцы под названием Заголовок, Автор и Издатель, которого Вы хотите разоблачить в представлении, находят, что раздел ViewFields представления и редактирует его следующим образом:

<ViewFields>
  <FieldRef Name="Title" />
  <FieldRef Name="Author" />
  <FieldRef Name="Publisher" />
</ViewFields>

Те поля (и только те поля) должны затем отобразиться в том представлении.

0
ответ дан 6 December 2019 в 10:03
поделиться

Вы убедились, что папка « c: \ teste » существует? Если этого не произойдет, то откроется проводник, показывающий папку по умолчанию (в моем случае « C: \ Users \ [имя пользователя] \ Documents »).

Обновление

Я пробовал следующее варианты:

// opens the folder in explorer
Process.Start(@"c:\temp");
// opens the folder in explorer
Process.Start("explorer.exe", @"c:\temp");
// throws exception
Process.Start(@"c:\does_not_exist");
// opens explorer, showing some other folder)
Process.Start("explorer.exe", @"c:\does_not_exist");

Если ни один из них (ну, кроме того, который вызывает исключение) не работает на вашем компьютере, я думаю, что проблема не в коде, а в среде. В этом случае я бы попробовал одно (или оба) из следующего:

  • Откройте диалоговое окно «Выполнить», введите «explorer.exe» и нажмите Enter.
  • Откройте командную строку, введите «explorer». Если вам действительно действительно не нужно настраивать визуализированный HTML-код, не беспокойтесь о том, чтобы возиться с представлением caml:

    <?xml version="1.0" encoding="utf-8"?>
    <List xmlns:ows="Microsoft SharePoint" Id="{AB426CDE-98F2-432A-B296-880C7931DEF3}"
         Title="Setting" Url="Lists/Setting" BaseType="0"
         FolderCreation="FALSE" DisableAttachments="TRUE" VersioningEnabled="FALSE"
         Direction="$Resources:Direction;"
         xmlns="http://schemas.microsoft.com/sharepoint/">
           <MetaData>
                  <Fields>
                         <Field Type="Text" Name="Title" DisplayName="Name" Required="TRUE" />
                         <Field Type="Text" Name="Value" DisplayName="Value" Required="TRUE" />
                  </Fields>
                  <Views>
                         <View BaseViewID="0" Type="HTML" WebPartZoneID="Main" DisplayName="All Items" DefaultView="TRUE"
                             MobileView="True" MobileDefaultView="False" SetupPath="pages\viewpage.aspx"
                             ImageUrl="/_layouts/images/issues.png" Url="AllItems.aspx">
                               <ViewStyle ID="17"/>
                               <RowLimit Paged="TRUE">100</RowLimit>
                               <Toolbar Type="Standard" />
                               <ViewFields>
                                      <FieldRef Name="Edit" />
                                      <FieldRef Name="Title"/>
                                      <FieldRef Name="Value"/>
                               </ViewFields>
                               <Query>
                                      <OrderBy>
                                             <FieldRef Name="Title"/>
                                      </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>
                  <DefaultDescription>Settings used in the application.</DefaultDescription>
           </MetaData>
    </List>
    
1
ответ дан 6 December 2019 в 10:03
поделиться

Я и Рич Финн написали инструмент под названием SPSource, который преобразовывает списки в шаблоны списков, типы контента и столбцы сайта. Пожалуйста, посетите http://spsource.codeplex.com/ там есть подробные руководства пользователя и веб-трансляции, чтобы показать вам, как им пользоваться.

1
ответ дан 6 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: