Измените отображаемое имя столбца Title в ContentType, мудрый или нет?

Я когда-то читал, что нецелесообразно менять отображаемое имя столбца Title при создании нового ContentType в SharePoint. Однако возможно (т.е. Статическое имя столбца по-прежнему "Заголовок", но отображаемое имя "Описание" ).

Итак, мой вопрос: каковы возможные осложнения? Почему я не изменяю его, когда создаю новый ContentType, которому нужен столбец "Описание", но столбца "Заголовок"?

Ответы

Ответ 1

Я согласен, что вам нужно сделать это с XML CAML. Я просто хотел опубликовать фактические данные о том, как это сделать, чтобы следующий человек с этим вопросом не должен продолжать поиск, как я. Спасибо Lambros Blog за ответ.

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

Вам нужно добавить в FieldRefs следующее:

<FieldRef Name="LinkTitle" ID="{82642ec8-ef9b-478f-acf9-31f7d45fbc31}" DisplayName="Renamed" Sealed="TRUE"/>
<FieldRef Name="LinkTitleNoMenu" ID="{bc91a437-52e7-49e1-8c4e-4698904b2b6d}" DisplayName="Renamed" Sealed="TRUE"/>
<FieldRef Name="Title" ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" DisplayName="Renamed" Sealed="TRUE"/>

Вам нужно добавить в поля, добавив следующее:

<Field Name="LinkTitle" ID="{82642ec8-ef9b-478f-acf9-31f7d45fbc31}" DisplayName="Renamed" Sealed="TRUE" Type="Calculated"/>
<Field Name="LinkTitleNoMenu" ID="{bc91a437-52e7-49e1-8c4e-4698904b2b6d}" DisplayName="Renamed" Sealed="TRUE" Type="Calculated"/>
<Field Name="Title" ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" DisplayName="Renamed" Sealed="TRUE" Type="Text"/>

Это должно сделать это. Еще раз спасибо Ламбросу.

Ответ 2

Если вы разрабатываете свой собственный тип контента в виде xml файлов в функции в решении, то нет проблем с изменением отображаемого имени столбца заголовка.

Проблема заключается в том, что пользователи пытаются сделать это через пользовательский интерфейс.

  • Они переходят к настройкам сайта/типам контента
  • Откройте тип содержимого и щелкните столбец заголовка
  • Измените имя на что-то приятное

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

Ответ 3

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

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

Итак, все ваши списки были затронуты, конечно. Но подождите, здесь больше боли. Также затронут список пользователей SharePoint, называемый "User Information List", и вы не можете изменить его на исходное название столбца "Имя" . Там, где это действительно будет гвоздь, вы пытаетесь подключиться к спискам SharePoint через Microsoft Access, который является жестко запрограммированным для поиска списка пользовательских сведений, в частности, для поиска столбца с именем "Имя" . Следовательно, он разбивает эти связанные списки, делая их бесполезными через MS Access.

Теперь я изучаю способ переименовать его с помощью другого подхода, поскольку пользовательский интерфейс блокирует вас от названия столбца до "Имя" .

Итак, чтобы ответить на ваш вопрос: не делайте этого!

Ответ 4

Я не знаю никаких проблем. Я делал это сам несколько раз и не сталкивался с какими-либо проблемами.