Используйте Web Money - это очень удобно

четверг, 3 апреля 2008 г.

Кастомизируя стили...

Источники:MSDN (2003 sharepoint) и конечно google
Идеология...
Стиль по существу является XSLT преобразованием xml с содержанием списка.
Я уже писал по этому поводу.
Все что нам нужно это поправить html разметку в тегах CDATA.

Итак по адресу:

C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\GLOBAL\XML\VWSTYLES.XML
лежит этот замечательный файл в котором хранятся стили отображения для ListViewWebPart или проще говоря для библиотек и списков.

Хочу поделиться своими изысканиями в этой области:
1. Создать свой стиль проще всего через копирование.
Необходимо задать ему новый ИД больше 20.

2. Можно ограничить типы списков для которых будет работать ваш стиль:
например ID="34" DisplayName="Карточка(изменить)" BaseType="0" - для списков и библиотек или BaseType="1" для библиотек.

3. Когда вы создаете свой стиль необходимо внимательно посмотреть на ограничения по полям( особенно если вы пытаетесь переделать готовый стиль для библиотеки в стиль для списка.

Мои примеры:
1. Удалив содержимое <ViewHeader> и выравнив стиль (HTML теги которые открывались в этой области) вы получите отображение списка без заглавия.

2.
Добавив такую схему в <ViewBody> в каждой строке:
<HTML> <![CDATA[<a href="]]></HTML>
<ListProperty Select="DefaultViewUrl" HTMLEncode="TRUE"/>
<HTML><![CDATA[?FilterField1=ID&FilterValue1=]]></HTML>
<Field Name="ID" HTMLEncode="TRUE" />
<HTML><![CDATA[" >Подробнее...</a>]]></HTML>
Мы получим ссылку на основное представление списка в котором будет показываться только текущий элемент. Вместо DefaultViewUrl можно использовать страницу с вебчастью на которой отображается список.

Этот стиль предназанчен для перехода в представление в котором отображается только один элемент в таком стиле где нет элементов навигации по списку например для отображения многострочного поля с форматированием: мы видим только 1 поле во всей области. Таким образом можно отображать новости, страницы и т.п. HTML форматированную информацию.

Комбинируя изменение стиля и кастмизированное поле мы можем получить практически произвольный вид списка, с нашими скриптами и HTML контролами. Это богатый инструментарий как для дизайнера так и для разработчика.
Отдельно хочу обратить ваше внимание на заполнение значениями переменной ctx = new ContextInfo(); типа ContextInfo - из нее можно достать необходимую вам информацию о пользователе, списке и т.п.

В целом советую сначала прочитать про преобразование xml потом внимательно просмотреть схемы стилей (попытаться их прочитать) думаю через неделю вы сможете создать свой собственный стиль на базе существующего.

Удачи!

Комментариев нет: