Пользовательский столбец в веб-части просмотра списка для многоязычного сайта не принимает на пользовательские языковые этикетки.Остается в языке по умолчанию

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/98155

Вопрос

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

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

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

Я создал пользовательский вид и изменил его с XSLT в соответствии с Как изменить заголовок столбца для просмотра, но не изменить список? Но это только работает только в списке и не произошло в представлении списка.

Я не могу быть первым, кто наткнулся на него, либо я не выполняю свои поиски правильно, никто никогда не задокументировал для этого, или это то, что мы просто не можем исправить с инструментами OOTB. Это то, что другое, решение должно быть достигнуто OOTB или с незначительными изменениями клиента. Я не могу уволить Visual Studio, потому что они пилотируют Office 365 и поставили «нет пользовательского кода» мандата на миграцию (что для меня очень жестко. Мне нравится мой код; P).

Спасибо всем заранее.

Это было полезно?

Решение

Ok, I have come up with a solution. I edited the XSLT for the web part on the page. I did the following:

  1. Create the variants in the Site Ccollection
  2. Create the library outside of the variants.
  3. Add all the columns you require for the library. It is very important all the columns are there before you move on.
  4. Create a French and English view.
  5. Create the list view web part via designer.
  6. Add the list view web part to each site selecting the appropriate view to use.
  7. Edit the page in SharePoint Designer 2010.
  8. Place cursor in the column you wish to modify.
  9. Click Design in the List View Tools on the ribbon.
  10. Then click Customize XSLT and select Customize Item. Select this option otherwise you will generate a LOT of unnecessary XSL code.
  11. You are looking for a piece that resembles the following:

    <xsl:with-param name="fieldtitle">
      <xsl:value-of select="@DisplayName"/>
    </xsl:with-param>
    
  12. Modify it by typing in the actual column name you want. You should end up with something like this:

    <xsl:with-param name="fieldtitle">
      New Column Name.
    </xsl:with-param>
    
  13. Now, for this page only, the column will be renamed.

There are some caveats:

  1. Doesn’t appear to work in a publishing portal. I think this has to do with how SP stores the pages in this case. In a publishing portal you can only modify the page layout which won’t work as we need to modify the content.
  2. If you add another column, you will need to repeat the XSLT modification

Anyways, I hope this helps out any others with the same issue or need as I had.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top