Пользовательский столбец в веб-части просмотра списка для многоязычного сайта не принимает на пользовательские языковые этикетки.Остается в языке по умолчанию
Вопрос
У меня есть то, что до сих пор, кажется, довольно уникальная проблема. Мы используем многоязычную среду 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:
- Create the variants in the Site Ccollection
- Create the library outside of the variants.
- Add all the columns you require for the library. It is very important all the columns are there before you move on.
- Create a French and English view.
- Create the list view web part via designer.
- Add the list view web part to each site selecting the appropriate view to use.
- Edit the page in SharePoint Designer 2010.
- Place cursor in the column you wish to modify.
- Click Design in the List View Tools on the ribbon.
- Then click Customize XSLT and select Customize Item. Select this option otherwise you will generate a LOT of unnecessary XSL code.
You are looking for a piece that resembles the following:
<xsl:with-param name="fieldtitle"> <xsl:value-of select="@DisplayName"/> </xsl:with-param>
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>
Now, for this page only, the column will be renamed.
There are some caveats:
- 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.
- 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.