Блог Сергея Байдачного

Мой блог о технологиях

SharePoint 2010: Что нового? (часть 2) – Master-страницы или гвоздь в голову

4 комментария

В SharePoint 2010 произошли небольшие изменения, связанные с обработкой эталонных (master) страниц. Первое изменение коснулось страниц приложения (общих страниц для всех сайтов). Теперь страницы приложения подключают ту же эталонную страницу, что и контентные страницы самого сайта. Таким образом, интерфейс, позволяющий настраивать параметры сайта, списков и других элементов, будет выглядить в едином стиле со всем сайтом. При этом, чтобы гарантировать бесперебойную работу некоторых важных страниц приложения, было принято решение выделить несколько страниц в отдельную группу и сохранить старую модель использования эталонных страниц. Так, следующие страницы, используют simple.master, которая находится в общей директории со страницами приложения и не зависит от сайта:

· AccessDenied.aspx

· MngSiteAdmin.aspx

· People.aspx

· RecycleBin.aspx

· ReGhost.aspx

· ReqAcc.aspx

· Settings.aspx

· UserDisp.aspx

· ViewLsts.aspx

Если говорить о страницах сайта (контентных страницах), то теперь они используют новую эталонную страницу v4.master, которая находится в шаблоне Global (об этом позже).

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

Как говорит мой коллега, Виктор Шатохин: «Этим разработчикам нужно забить гвоздь в голову». Действительно, в документации говорится, что все страницы теперь имеют общую эталонную страницу v4.master. Но если Вы посмотрите на код страниц сайта, то обнаружите следующую запись:

MasterPageFile="~masterurl/default.master"

Если смотреть на код страниц приложения, то запись немного другая (но не на много лучше):

DynamicMasterPageFile="~masterurl/default.master"

Таким образом, v4.master обнаружить не удалось.

Оказывается, чтобы реализовать механизм для страниц приложений, в SharePoint 2010 используют атрибут DynamicMasterPageFile, который не задает реальный адрес эталонной страницы, а использует один из двух динамических шаблонов:

· "~masterurl/default.master"

· "~masterurl/custom.master"

В первом случае выбирается страница, которая используется конкретным сайтом для страниц сайта. Данную страницу можно получить через свойство MasterUrl объекта, связанного с веб-приложением (SPWeb). Во втором случае, страница выбирается из свойства CustomMasterUrl, связанного с объектом веб-приложения. Очевидно, это было сделано для того, чтобы иметь возможность установить альтернативную эталонную страницу, отличающуюся от эталона для контент страниц. Пожалуй это можно простить и догадаться о подмене по DynamicMasterPageFile атрибуту.

Теперь обратимся к страницам сайта. Тут установлен MasterPageFile атрибут, поэтому говорить о какой-то динамической подстановке v4.master сложно. Но при загрузке страницы используется именно v4.master. Оказывается, что страница переопределяется в конфигурационном файле шаблона onet.xml:

<Configuration ID="0" Name="Default" 
MasterUrl="_catalogs/masterpage/v4.master">

Естественно, что описанием изменений в onet.xml и не пахнет.

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

Реклама

Written by Sergiy Baydachnyy

19.01.2010 в 13:36

Опубликовано в SharePoint

Tagged with

комментария 4

Subscribe to comments with RSS.

  1. Я бы вбил второй гвоздь 🙂
    До сих пор не знаю как сменить шаблон на свой

    Иванов

    21.10.2010 at 14:46

    • и я так и не поняла, а очень надо!

      Аноним

      30.10.2011 at 10:22

  2. Splendide poste, encore une fois

    femme lubrique

    14.05.2014 at 16:42


Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: