Главные страницы и страницы содержимого
Типичый веб-узел, построенный по технологии SharePoint, как правило, основан на табличном дизайне и содержит отдельные веб-страницы, обладающие одинаковым дизайном и макетом. Как мы уже знаем (см. лекцию 7), это достигается особым методом формирования веб-страниц узла SharePoint. А именно, веб-страница SharePoint, наблюдаемая нами в браузере, формируется путем слияния элементов управления с двух различных страниц (рис. 8.1):
собственно, ASPX-страницы, называемой страницей содержимого (или страницей контента )
мастер-страницы, или главной страницы – страницы-шаблонов, содержащей одинаковые элементы для всех страниц узла
(рис 8.1) Схема формирования веб-страницы узла SharePointГлавная страница содержит макет страницы и элементы макета, которые повторяются на нескольких страницах узла. Их расположение на главной странице придает узлу более упорядоченный вид, позволяя, к тому же, создавать и изменять общие элементы узла в одном месте, а не на каждой веб-странице. Главная страница может содержать любые сведения, которые можно разместить на веб-странице, например панель быстрого запуска, верхнюю панель ссылок, название или эмблему.
Рассмотрим представление типичной ASPX-страницы в SharePoint Designer на примере домашней страницы узла (рис. 8.2). Она является страницей содержимого, выполненной на основе шаблона, предоставляемого соответствующей мастер-страницей. Путь к файлу этой мастер-страницы указывается в правом верхнем углу области редактирования (1). Элементы управления, приходящие с главной страницы, называются элементами управления прототипом содержимого (2). В коде веб-страницы они размечаются тегами <asp:ContentPlaceHolder>, сопоставляясь с соответствующими прототипами содержимого мастер-страницы посредством атрибута ContentPlaceHolderId.
(рис 8.2) Строение типовой страницы содержимого (выделен элемент-прототип, настроенный непосредственно на этой странице контента)В режиме Конструктор элементы управления прототипом отображаются в полупрозрачном виде (если включена опция показа визуальных подсказок), причем во вкладке каждого элемента присутствует слово (основная), говорящее о том, что он приходит с главной страницы. Такие элементы разрешается откреплять от мастер-страницы, назначая ему пользовательское содержимое, т. е. заменяя контент главной страницы контентом aspx-страницы. Тогда во вкладке открепленных элементов отображается метка (настройка) (3), а сама процедура открепления осуществляется посредством меню Общие задачи содержимого, вызываемым кнопкой (4).
Элементы самой ASPX-страницы, никак не связанные с главной страницей отмечены на рис. 8.2 меткой (5), а собственные элементы главной страницы (не являющиеся прототипами и поэтому недоступные для редактирования на ASPX-странице) – меткой (6). Стоит также напомнить, что, если полупрозрачная разметка страницы вам мешает, то отключить отображение прототипов содержимого можно посредством верхнего меню Вид / Визуальные подсказки / Показать (рис. 8.3).
(рис 8.3) Отключение визуальных подсказокНа ASPX-страницах при выделении элементов, находящихся непосредственно на этих страницах, т.е. веб-частей и прочих элементов, каковыми могут быть рисунки или текстовые подписи, соответствующая последовательность тегов возникает на панели быстрого доступа к тегу. Например, на рис. 8.4 приведен пример выделения на ASPX-странице и названием (6) веб-части (1), о чем говорит выделенный тег (3), кодирующий эту веб-часть. Зачастую панель доступа к тегу является более надежным инструментом выделения нужной области на веб-странице в SharePoint Designer. В частности, если щелкнуть по тегу (4), кодирующему зону веб-частей, то выделение будет перенесено с веб-части (1) на соответствующую правую зону.
(рис 8.4) Строение типовой страницы содержимого (выделена веб-часть)При выделении прототипов содержимого, как приходящих с главной страницы (5), так и настроенных непосредственно на странице контента (2), панель доступа к тегу ничего не отображает. В этом легко убедиться, если вернуться к рис. 8.2, демонстрирующему выделение настроенного прототипа.
Итак, типичная веб-страница узла SharePoint в браузере формируется путем слияния нескольких составляющих (рис. 8.5):
мастер-страницы
элементов самой ASPX-страницы (в частности, веб-частей)
данных, которые, впрочем, следует условно разделить на три группы:контента веб-частей из внутренних баз данных SharePoint (т.е. элементов списков, библиотек, обсуждений и т.п., которые формируют участники рабочей группы);
настраиваемых элементов оформления узла и отдельных страниц (например, логотипа и названия узла, темы узла и др.);
пользовательских баз данных (например, форм), которые также хранятся на сервере.
(рис 8.5) Схема источников содержимого веб-страницы SharePointИз сказанного следует, что типичная веб-страница SharePoint, с которой участники рабочей группы работали только в браузере (т.е. до момента начала ее редактирования в SharePoint Designer ), не содержит в своем HTML-коде никакого пользовательского содержимого и черпает всю информацию, как по наполнению списков и библиотек, так и по модернизации внешнего вида сайта, из соответствующих баз данных на сервере.
В свою очередь, прототипы содержимого на странице контента получают свое наполнение не из кода главной страницы, а загружаются с сервера. Когда aspx-страница, ссылающаяся на главную страницу, отображается в браузере, происходит запрос на место на сервере, где хранится наполнение прототипа содержимого. Например, как мы убедимся ниже, собственно, текст названия узла (в нашем случае, "Рога и Копыта") в коде главной страницы отсутствует и поступает в браузер из соответствующей базы данных на сервере.
(рис 8.6) Схема происхождения содержимого веб-страницы (в браузере)В заключение раздела еще раз приведем сводку элементов ASPX-страниц, на этот раз рассматривая их в браузере и делая акцент на их происхождении (рис. 8.6). Это элементы:
неизменные элементы, находящиеся непосредственно на главных страницах (1)
прототипы содержимого (2), приходящие с главных страниц (они могут быть перенастроены на самих ASPX-страницах);
зоны веб-частей (4), с расположенными в их пределах отдельными веб-частями (5);
элементы обычного веб-дизайна (6) (на рисунке не показаны).
В частности, название веб-узла ("Рога и Копыта"), элементы управления в верхней части страницы и панель быстрого доступа в левой части любой из страниц узла – это элементы управления прототипом контента. Логотип узла – типичный элемент, который также приходит с главной страницы, но не является прототипом содержимого и не доступен для редактирования на странице контента, о чем говорит характерный вид указателя мыши при его наведении на логотип (рис. 8.7).
(рис 8.7) Собственные элементы мастер-страницы нельзя изменять на странице содержимого Веб-части, реализующие списки и библиотеки, которые способны изменять содержимое по желанию зрителя страницы в браузере, – это содержимое, которое формируется уникальным образом на каждой из страниц.
Редактирование мастер-страниц
Рассмотрим теперь основные приемы работы с главными страницами, включая их создание и редактирование.
Открытие мастер-страницы
Если Вы работаете со страницей содержимого в SharePoint Designer, то URL-адрес ее мастер-страницы легко обнаружить в правом верхнем углу данного документа SharePoint, как это показано меткой (1) на рис. 8.2 (см. предыдущий разд.). Все главные страницы находятся в файлах, имеющих расширение .master – общеупотребительный формат главных страниц, принятый в среде ASP.NET.
По умолчанию все мастер-страницы хранятся в папке masterpage, которая, в свою очередь, вложена в папку _catalogs, находящуюся в корневом каталоге веб-узла SharePoint. Если Вы создаете собственные главные страницы, то рекомендуется сохранять их в той же самой папке masterpage, чтобы облегчить их последующий поиск и администрирование в браузере (стоит отметить, что доступ из браузера к коллекции главных страниц имеется на главной странице администрирования Параметры узла ).
Для того, чтобы открыть мастер-страницу для редактирования в SharePoint Designer, достаточно развернуть содержимое папки masterpage на панели Список папок и дважды щелкнуть по названию нужной мастер-страницы, например, default.master (рис. 8.8). Как следует из сравнения рис. 8.8 с предыдущими рисунками aspx-страниц, действительно, верхняя и левая панели навигации приходят на страницу содержимого с мастер-страницы, а пустой правый нижний "квадрат" является контейнером для уникального содержимого, которое определяет уже aspx-страница.
(рис 8.8) Мастер-страница открыта в SharePoint DesignerРедактирование прототипа содержимого
Главные страницы, страницы с расширением .master, разрешается редактировать в SharePoint Designer, подобно обычным страницам контента. Однако, сами главные страницы нельзя просмотреть в обозревателе. Для их тестирования необходимо создать страницу контента (например, пустую), и уже ее открыть в браузере (рис. 8.9).
(рис 8.9) Схема тестирования мастер-страницРассмотрим приемы правки прототипов содержимого на главной странице на примере изменения названия веб-узла, в нашем случае "Рога и Копыта". Для этого, во-первых, следует на главной странице узла правильно выделить прототип содержимого: целиком, либо его часть, которую необходимо отредактировать. Щелкнув на названии веб-узла на главной странице, мы выделим элемент управления <asp:ContentPlaceHolder7gt;, идентификатор которого PlaceHolderSiteName (дословно – местозаполнитель имени сайта) говорит о том, что он является заголовком веб-узла (рис. 8.10).
Примечание. Обратите внимание на это название идентификатора во вкладке прототипа в области Конструктор и соответствующем выделенном фрагменте в области Код.
(рис 8.10) Выделите прототип содержимого PlaceHolderSiteName
Выделение любого элемента на главной странице приводит к тому, что на панели выбора тега (под закладкой с именем страницы в самом верху) появляется последовательность тегов, кодирующих данный элемент. Если выделение в области Конструктор осуществлено не очень точно, то скорректировать объект выделения можно щелчком на нужном теге, ориентируясь также на соответствующее выделение HTML-кода, синхронно происходящее в области Код. Например, если вы выделили сам текст имени узла, как это показано на рис. 8.11, осуществить выделение всего прототипа содержимого легко щелчком на теге asp:ContentPlaceHolder # PlaceHolderSiteName на панели выбора тега (как на предыдущем рис. 8.10)
Примечание. Помните о том, что для выбора нужного прототипа содержимого удобно пользоваться панелью инструментов Главная страница (см. лекцию 7).
(рис 8.11) Выделение текста на прототипе PlaceHolderSiteNameПриглядевшись внимательно к коду выделенного фрагмента, Вы (возможно, с удивлением) обнаружите, что самого словосочетания "Рога и Копыта" нет. Дело в том, что прототипы содержимого на главной странице, как уже было сказано, получают свое наполнение не из кода главной страницы, а загружаются из соответствующего источника данных с сервера. Когда aspx-страница, ссылающаяся на главную страницу, отображается в браузере, происходит запрос на сервер, где хранится наполнение прототипа содержимого, и затем уже оно отображается в браузере (см. рис. 8.5 и его обсуждение выше по тексту). Большая часть наполнения главной страницы является, как раз, набором изменяемых прототипов содержимого, хранящих информацию не в коде главной страницы, а на сервере.
Сказанное относится ко всем настройкам главной страницы, производимым в браузере, к которым относились изменение название сайта и его логотипа. Использование программы SharePoint Designer снимает это ограничение, позволяя вносить изменения в код главных страниц, редактируя, как прототипы содержимого (см. ниже в этом разделе), так и неизменяемые элементы мастер-страниц (см. следующий разд.). В частности, выделив фрагмент главной страницы с названием веб-узла (рис. 8.11), можно ввести с клавиатуры тот же текст "Рога и Копыта", который немедленно появится в коде мастер-страницы. Таким образом, теперь название веб-узла не станет отбираться с серверного источника данных, а будет находиться непосредственно в коде страницы (рис. 8.12).
(рис 8.12) Введите текст в тело прототипа содержимого PlaceHolderSiteNameПримечание. Обратите внимание на значок с буквой i перед названием мастер-страницы на панели Список папок, говорящий о том, что страница настроена вручную в SharePoint Designer (рис. 8.13). Пока эта настройка сводится к замене фрагмента прототипа имени сайта пользовательским текстом.
(рис 8.13) Главная страница default.master настроена вручную Аналогичным образом (рис. 8.14) разрешается вносить форматирование в элементы мастер-страниц. Например, вызывая на экран область задач Изменение стиля, несложно выбрать новый стиль для введенного текста названия сайта (до того размеченного прежним стилем, который использовался по умолчанию для прототипа). Иными словами, как стилевое, так и прямое редактирование главных страниц, не отличается по характеру от этих операций, осуществляемых над aspx-страницами SharePoint.
(рис 8.14) Форматирование стиля элемента на главной странице default.masterРазумеется, изменения, осуществленные с главной страницей, будут применены ко всему узлу. В этом легко убедиться, сохраняя мастер-страницу и возвращаясь в SharePoint Designer к домашней странице узла default.aspx (рис. 8.15). Примечательно, что название сайта на aspx-странице по-прежнему отбирается с главной страницы веб-узла, о чем говорит метка (основная) во вкладке элемента управления прототипом названия узла.
(рис 8.15) Изменения главной странице сказываются на странице содержимогоРедактирование неизменяемых элементов мастер-страниц
Помимо прототипов содержимого, которые допускается менять на aspx-страницах, главные страницы могут содержать неизменяемые элементы, такие, как рисунки, текст и т.д. При наведении указателя на такие элементы, пришедшие с главной страницы, на страницах содержимого, он будет говорить о невозможности их редактирования. В качестве примера можно назвать эмблему узла (см. рис. 8.7).
(рис 8.16) Стоит упомянуть также и о том, что рисунок для эмблемы, по умолчанию, также отбирается из базы данных на сервере. Между тем, как и в случае прототипа, если выделить на главной странице default.master эмблему и заменить ее некоторым рисунком из файла (рис. 8.16), перетащив его название из панели Список папок, то эти изменения будут отражены в коде веб-страницы (рис. 8.17).
(рис 8.17) Логотип на мастер-странице теперь определяется тегом <img> Возврат к определению главной страницы
По мере редактирования главной страницы в SharePoint Designer, на некотором этапе Вам может захотеться вернуться к ее исходному состоянию (например, из-за проведения некоторого нежелательного редактирования или для доступа к элементу, который Вы удалили в ходе работы). Благодаря тому, что службы SharePoint автоматически сохраняют последнее состояние мастер-страницы, настроенное в браузере, всегда можно вернуться к этому исходному виду мастер-страницы. Для этого достаточно вызвать из имени главной страницы на панели Список папок контекстное меню и выбрать в нем команду Возврат к определению узла (рис. 8.18), подтвердив затем свое намерение в дополнительном диалоге-предупреждении.
(рис 8.18) Возврат к исходному состоянию главной страницы В результате первоначальное состояние главной страницы будет восстановлено, а ее отредактированная версия будет сохранена на сервере в виде резервной копии во вновь созданном файле (рис. 8.19).
(рис 8.19) Главная страница в первоначальном состоянииНастройка связи мастер-страниц и страниц содержимого
Ссылка на главную страницу в коде страницы содержимого определяется директивой Page, в самом начале ее кода (рис. 8.20). Однако, для изменения связи с главной страницей лучше пользоваться визуальными средствами SharePoint Designer.
(рис 8.20) Ссылка на главную страницу в коде страницы содержимогоВыбор мастер-страницы по умолчанию
Если для веб-сайта разработано несколько различных мастер-страниц, то переключение между ними позволит быстро поменять дизайн всего сайта. В частности, можно создать копию существующей главной страницы, изменить в ней те элементы, которые должны выглядеть по-другому, а затем назначить эту копию мастер-страницей по умолчанию.
Примечание. Бесплатные образцы мастер-страниц Вы найдете на сайте компании Microsoft (пример одной из них показан на рис. 8.21). Их достаточно загрузить на свой компьютер, а затем, воспользовавшись панелью Список папок, поместить на сервер в папку mastepage.
(рис 8.21) Пример другой мастер-страницыНа веб-узле должен присутствовать хотя бы один файл с расширением .master, который назначен главной страницей по умолчанию. Обычно в качестве главной страницы веб-узла используется файл default.master. Если Вы хотите выбрать в качестве мастер-страницы по умолчанию другой файл, достаточно щелкнуть по нему правой кнопкой на панели Список папок и выбрать в контекстном меню команду Назначить главной страницей по умолчанию (рис. 8.22).
Примечание. Возможно, эта операция потребует процедуры дополнительной авторизации, т.е. введении учетной записи пользователя и пароля администратора сервера (а не администратора текущего узла SharePoint).
(рис 8.22) Выбор мастер-страницы по умолчаниюВ результате все страницы узла, контролируемые главной страницей по умолчанию, изменят свой дизайн (рис.8.23).
(рис 8.23) Вид aspx-страницы при изменении мастер-страницы по умолчаниюНазначение индивидуальной мастер-страницы для aspx-страницы
Для того, чтобы поменять главную страницу не для всего веб-узла, а лишь для конкретной страницы содержимого, следует, находясь в режиме редактирования последней, проделать следующее.
Раскройте верхнее меню Формат и, наведя указатель на пункт Главная страница, выберите в подменю команду Присоединить главную страницу.
В диалоговом окне Выбор главной страницы выберите пункт Настраиваемая главная страница, либо Особая главная страница, определяя путь к файлу с мастер-страницей (рис. 8.24).
Нажмите кнопку ОК.
В результате веб-страница содержимого будет связана с определенной главной страницей, не совпадающей с мастер-страницей узла по умолчанию.
(рис 8.24) Выбор индивидуальной мастер-страницы для aspx-страницыСоздание пустых страниц содержимого на основе мастер-страницы
Завершим разговор о мастер-страницах упоминанием о возможности создания на веб-узле новых aspx-страниц на основе некоторой главной страницы (использующейся по умолчанию или любой другой). Для этого:
Перейдите на панели Список папок в папку catalogs / masterpage.
Щелкните правой кнопкой на названии желаемой мастер-страницы (например, default.master).
В контекстном меню выберите команду (рис 8.25) Создание aspx-страницы на основе мастер-страницы default.master
Сохраните созданную aspx-страницу (рис. 8.26) в файле.
Отметим, что создание описанным способом пустых aspx-страниц является методом оценки дизайна и содержимого главной страницы в Обозревателе, поскольку сами главные страницы открывать для просмотра в Обозревателе не разрешается.
(рис 8.26) Созданная aspx-страница имеет дизайн главной страницы Лабораторные работы
Лабораторная работа 8.1. Главные страницы для всего сайта и для конкретных aspx-страниц
Это упражнение призвано закрепить у читателя понимание того, что мастер-страница по умолчанию определяет дизайн всего веб-сайта, а индивидуальная настройка – только конкретной aspx-страницы.
На панели Список папок откройте папку catalogs / masterpage.
Поместите в нее дополнительную мастер-страницу, чтобы помимо файла default.master присутствовал другой файл, например, another.master или какие-либо иные файлы с расширением .master (как на рис 8.27(рис 8.27) Мастер-страницы должны находиться в папке catalogs / masterpage
Сделайте файл another.master главной страницей по умолчанию (см. рис. 8.22).
Перейдите на (рис 8.28) Откройте домашнюю страницу в браузере
Перейдите к какой-либо другой aspx-странице, например, Общие фотографии или Коллективное обсуждение (рис. 8.29).
Убедитесь, что все страницы сайта теперь имеют одинаковый (изменившийся) дизайн.
(рис 8.29) Пример другой aspx-страницы
Вернитесь в SharePoint Designer на Домашнюю страницу веб-узла
Тем же самым способом верните назначение страницей по умолчанию файла default.master и снова просмотрите в браузере несколько страниц сайта.
Для Домашней страницы при помощи команды Формат / Главная страница / Присоединить главную страницу и диалога Выбор главной страницы определите назначение главной страницы another.master не для всего веб-узла, а лишь для его домашней страницы.
Снова просмотрите Домашнюю страницу в браузере, убедившись, что она контролируется дизайном мастер-страницы another.master.
Просмотрите несколько других веб-страниц сайта, чтобы убедиться в том, что все они контролируются дизайном мастер-страницы default.master (рис. 8.30).
(рис 8.30) Пример другой aspx-страницы
Лабораторная работа 8.2. Редактирование мастер-страницы
В рамках этого примера приведем добавление на мастер-страницу некоторого текста (скажем, сведения об авторских правах), с тем, чтобы этот текст отображался на всех страницах сайта, контролируемых этой мастер-страницей. Выполните следующее.
Откройте файл default.master в SharePoint Designer.
Перейдите к редактированию таблицы в нижнем правом "квадрате" мастер-страницы, зарезервированном за страницей содержимого рис 8.31(рис 8.31) Вставьте новую строку в нижнюю часть таблицы
Вызовите из этой области контекстное меню и выберите в нем команду Вставить / Строка снизу.
Во вставленную нижнюю ячейку таблицы введите текст (рис. 8.32).
Сохраните мастер-страницу.
(рис 8.32) Введите текст в нижнюю ячейку таблицы
Перейдите к домашней странице в SharePoint Designer запустите ее просмотр в браузере.
Убедитесь в том, что все страницы сайта теперь содержат одинаковый текст, приходящий с мастер-страницы (рис. 8.33)
(рис 8.33) Просмотрите сведения о копирайте на нескольких страницах веб-узла
Лабораторная работа 8.3. Просмотр коллекции главных страниц в браузере
Перечень главных страниц, присутствующих на узле, допускается просматривать в браузере. Рассмотрим, как это делается.
Откройте меню Действия узла и выберите пункт Параметры узла.
В разделе (рис 8.34) Перейдите к коллекции главных страниц
Просмотрите коллекцию главных страниц (рис. 8.35).
Если Вы хотите отредактировать главную страницу, выделите ее в и щелкните пункт Изменить, чтобы открыть ее в SharePoint Designer.
(рис 8.35) Коллекции главных страниц веб-узла
Краткие итоги
Домашняя страница узла SharePoint является страницей содержимого, выполненной на основе шаблона мастер-страницы.
Главная страница, или мастер-страницы, – это составляющие среды ASP.NET 2.0. Поэтому они работают одинаково в узлах Службы Windows SharePoint Services 3.0 и Office SharePoint Server 2007, т.к. обе эти технологии основаны на ASP.NET 2.0. Используя главные страницы, можно создать одну единственную страницу шаблона, а затем использовать этот шаблон в качестве основы для нескольких страниц веб-узла.
Главная страница имеет расширение .master и хранятся в папке _catalogs / masterpage в папке веб-узла на сервере.
Страница содержимого (с расширением .aspx), просматриваемая в браузере, формируется благодаря слиянию главных страниц и, собственно, элементов содержимого, расположенных на aspx-странице. Поэтому наполнение aspx-страницы, которое мы наблюдаем в SharePoint Designer, является комбинацией элементов с главных страниц, а также элементов, расположенных непосредственно на странице содержимого.
По умолчанию каждый узел имеет одну главную страницу, которая хранится в галерее главных страниц. В этой галерее можно сохранять неограниченное количество главных страниц, но в качестве главной странице для узла можно выбрать только одну. Пользуясь SharePoint Designer, разрешается назначить разные главные страницы отдельным aspx-страницам веб-узла.
Главные страницы и страницы содержимого
Типичый веб-узел, построенный по технологии SharePoint, как правило, основан на табличном дизайне и содержит отдельные веб-страницы, обладающие одинаковым дизайном и макетом. Как мы уже знаем (см. лекцию 7), это достигается особым методом формирования веб-страниц узла SharePoint. А именно, веб-страница SharePoint, наблюдаемая нами в браузере, формируется путем слияния элементов управления с двух различных страниц (рис. 8.1):
собственно, ASPX-страницы, называемой страницей содержимого (или страницей контента )
мастер-страницы, или главной страницы – страницы-шаблонов, содержащей одинаковые элементы для всех страниц узла
(рис 8.1) Схема формирования веб-страницы узла SharePointГлавная страница содержит макет страницы и элементы макета, которые повторяются на нескольких страницах узла. Их расположение на главной странице придает узлу более упорядоченный вид, позволяя, к тому же, создавать и изменять общие элементы узла в одном месте, а не на каждой веб-странице. Главная страница может содержать любые сведения, которые можно разместить на веб-странице, например панель быстрого запуска, верхнюю панель ссылок, название или эмблему.
Рассмотрим представление типичной ASPX-страницы в SharePoint Designer на примере домашней страницы узла (рис. 8.2). Она является страницей содержимого, выполненной на основе шаблона, предоставляемого соответствующей мастер-страницей. Путь к файлу этой мастер-страницы указывается в правом верхнем углу области редактирования (1). Элементы управления, приходящие с главной страницы, называются элементами управления прототипом содержимого (2). В коде веб-страницы они размечаются тегами <asp:ContentPlaceHolder>, сопоставляясь с соответствующими прототипами содержимого мастер-страницы посредством атрибута ContentPlaceHolderId.
(рис 8.2) Строение типовой страницы содержимого (выделен элемент-прототип, настроенный непосредственно на этой странице контента)В режиме Конструктор элементы управления прототипом отображаются в полупрозрачном виде (если включена опция показа визуальных подсказок), причем во вкладке каждого элемента присутствует слово (основная), говорящее о том, что он приходит с главной страницы. Такие элементы разрешается откреплять от мастер-страницы, назначая ему пользовательское содержимое, т. е. заменяя контент главной страницы контентом aspx-страницы. Тогда во вкладке открепленных элементов отображается метка (настройка) (3), а сама процедура открепления осуществляется посредством меню Общие задачи содержимого, вызываемым кнопкой (4).
Элементы самой ASPX-страницы, никак не связанные с главной страницей отмечены на рис. 8.2 меткой (5), а собственные элементы главной страницы (не являющиеся прототипами и поэтому недоступные для редактирования на ASPX-странице) – меткой (6). Стоит также напомнить, что, если полупрозрачная разметка страницы вам мешает, то отключить отображение прототипов содержимого можно посредством верхнего меню Вид / Визуальные подсказки / Показать (рис. 8.3).
(рис 8.3) Отключение визуальных подсказокНа ASPX-страницах при выделении элементов, находящихся непосредственно на этих страницах, т.е. веб-частей и прочих элементов, каковыми могут быть рисунки или текстовые подписи, соответствующая последовательность тегов возникает на панели быстрого доступа к тегу. Например, на рис. 8.4 приведен пример выделения на ASPX-странице и названием (6) веб-части (1), о чем говорит выделенный тег (3), кодирующий эту веб-часть. Зачастую панель доступа к тегу является более надежным инструментом выделения нужной области на веб-странице в SharePoint Designer. В частности, если щелкнуть по тегу (4), кодирующему зону веб-частей, то выделение будет перенесено с веб-части (1) на соответствующую правую зону.
(рис 8.4) Строение типовой страницы содержимого (выделена веб-часть)При выделении прототипов содержимого, как приходящих с главной страницы (5), так и настроенных непосредственно на странице контента (2), панель доступа к тегу ничего не отображает. В этом легко убедиться, если вернуться к рис. 8.2, демонстрирующему выделение настроенного прототипа.
Итак, типичная веб-страница узла SharePoint в браузере формируется путем слияния нескольких составляющих (рис. 8.5):
мастер-страницы
элементов самой ASPX-страницы (в частности, веб-частей)
данных, которые, впрочем, следует условно разделить на три группы:контента веб-частей из внутренних баз данных SharePoint (т.е. элементов списков, библиотек, обсуждений и т.п., которые формируют участники рабочей группы);
настраиваемых элементов оформления узла и отдельных страниц (например, логотипа и названия узла, темы узла и др.);
пользовательских баз данных (например, форм), которые также хранятся на сервере.
(рис 8.5) Схема источников содержимого веб-страницы SharePointИз сказанного следует, что типичная веб-страница SharePoint, с которой участники рабочей группы работали только в браузере (т.е. до момента начала ее редактирования в SharePoint Designer ), не содержит в своем HTML-коде никакого пользовательского содержимого и черпает всю информацию, как по наполнению списков и библиотек, так и по модернизации внешнего вида сайта, из соответствующих баз данных на сервере.
В свою очередь, прототипы содержимого на странице контента получают свое наполнение не из кода главной страницы, а загружаются с сервера. Когда aspx-страница, ссылающаяся на главную страницу, отображается в браузере, происходит запрос на место на сервере, где хранится наполнение прототипа содержимого. Например, как мы убедимся ниже, собственно, текст названия узла (в нашем случае, "Рога и Копыта") в коде главной страницы отсутствует и поступает в браузер из соответствующей базы данных на сервере.
(рис 8.6) Схема происхождения содержимого веб-страницы (в браузере)В заключение раздела еще раз приведем сводку элементов ASPX-страниц, на этот раз рассматривая их в браузере и делая акцент на их происхождении (рис. 8.6). Это элементы:
неизменные элементы, находящиеся непосредственно на главных страницах (1)
прототипы содержимого (2), приходящие с главных страниц (они могут быть перенастроены на самих ASPX-страницах);
зоны веб-частей (4), с расположенными в их пределах отдельными веб-частями (5);
элементы обычного веб-дизайна (6) (на рисунке не показаны).
В частности, название веб-узла ("Рога и Копыта"), элементы управления в верхней части страницы и панель быстрого доступа в левой части любой из страниц узла – это элементы управления прототипом контента. Логотип узла – типичный элемент, который также приходит с главной страницы, но не является прототипом содержимого и не доступен для редактирования на странице контента, о чем говорит характерный вид указателя мыши при его наведении на логотип (рис. 8.7).
(рис 8.7) Собственные элементы мастер-страницы нельзя изменять на странице содержимого Веб-части, реализующие списки и библиотеки, которые способны изменять содержимое по желанию зрителя страницы в браузере, – это содержимое, которое формируется уникальным образом на каждой из страниц.
Редактирование мастер-страниц
Рассмотрим теперь основные приемы работы с главными страницами, включая их создание и редактирование.
Открытие мастер-страницы
Если Вы работаете со страницей содержимого в SharePoint Designer, то URL-адрес ее мастер-страницы легко обнаружить в правом верхнем углу данного документа SharePoint, как это показано меткой (1) на рис. 8.2 (см. предыдущий разд.). Все главные страницы находятся в файлах, имеющих расширение .master – общеупотребительный формат главных страниц, принятый в среде ASP.NET.
По умолчанию все мастер-страницы хранятся в папке masterpage, которая, в свою очередь, вложена в папку _catalogs, находящуюся в корневом каталоге веб-узла SharePoint. Если Вы создаете собственные главные страницы, то рекомендуется сохранять их в той же самой папке masterpage, чтобы облегчить их последующий поиск и администрирование в браузере (стоит отметить, что доступ из браузера к коллекции главных страниц имеется на главной странице администрирования Параметры узла ).
Для того, чтобы открыть мастер-страницу для редактирования в SharePoint Designer, достаточно развернуть содержимое папки masterpage на панели Список папок и дважды щелкнуть по названию нужной мастер-страницы, например, default.master (рис. 8.8). Как следует из сравнения рис. 8.8 с предыдущими рисунками aspx-страниц, действительно, верхняя и левая панели навигации приходят на страницу содержимого с мастер-страницы, а пустой правый нижний "квадрат" является контейнером для уникального содержимого, которое определяет уже aspx-страница.
(рис 8.8) Мастер-страница открыта в SharePoint DesignerРедактирование прототипа содержимого
Главные страницы, страницы с расширением .master, разрешается редактировать в SharePoint Designer, подобно обычным страницам контента. Однако, сами главные страницы нельзя просмотреть в обозревателе. Для их тестирования необходимо создать страницу контента (например, пустую), и уже ее открыть в браузере (рис. 8.9).
(рис 8.9) Схема тестирования мастер-страницРассмотрим приемы правки прототипов содержимого на главной странице на примере изменения названия веб-узла, в нашем случае "Рога и Копыта". Для этого, во-первых, следует на главной странице узла правильно выделить прототип содержимого: целиком, либо его часть, которую необходимо отредактировать. Щелкнув на названии веб-узла на главной странице, мы выделим элемент управления <asp:ContentPlaceHolder7gt;, идентификатор которого PlaceHolderSiteName (дословно – местозаполнитель имени сайта) говорит о том, что он является заголовком веб-узла (рис. 8.10).
Примечание. Обратите внимание на это название идентификатора во вкладке прототипа в области Конструктор и соответствующем выделенном фрагменте в области Код.
(рис 8.10) Выделите прототип содержимого PlaceHolderSiteNameВыделение любого элемента на главной странице приводит к тому, что на панели выбора тега (под закладкой с именем страницы в самом верху) появляется последовательность тегов, кодирующих данный элемент. Если выделение в области Конструктор осуществлено не очень точно, то скорректировать объект выделения можно щелчком на нужном теге, ориентируясь также на соответствующее выделение HTML-кода, синхронно происходящее в области Код. Например, если вы выделили сам текст имени узла, как это показано на рис. 8.11, осуществить выделение всего прототипа содержимого легко щелчком на теге asp:ContentPlaceHolder # PlaceHolderSiteName на панели выбора тега (как на предыдущем рис. 8.10)
Примечание. Помните о том, что для выбора нужного прототипа содержимого удобно пользоваться панелью инструментов Главная страница (см. лекцию 7).
(рис 8.11) Выделение текста на прототипе PlaceHolderSiteNameПриглядевшись внимательно к коду выделенного фрагмента, Вы (возможно, с удивлением) обнаружите, что самого словосочетания "Рога и Копыта" нет. Дело в том, что прототипы содержимого на главной странице, как уже было сказано, получают свое наполнение не из кода главной страницы, а загружаются из соответствующего источника данных с сервера. Когда aspx-страница, ссылающаяся на главную страницу, отображается в браузере, происходит запрос на сервер, где хранится наполнение прототипа содержимого, и затем уже оно отображается в браузере (см. рис. 8.5 и его обсуждение выше по тексту). Большая часть наполнения главной страницы является, как раз, набором изменяемых прототипов содержимого, хранящих информацию не в коде главной страницы, а на сервере.
Сказанное относится ко всем настройкам главной страницы, производимым в браузере, к которым относились изменение название сайта и его логотипа. Использование программы SharePoint Designer снимает это ограничение, позволяя вносить изменения в код главных страниц, редактируя, как прототипы содержимого (см. ниже в этом разделе), так и неизменяемые элементы мастер-страниц (см. следующий разд.). В частности, выделив фрагмент главной страницы с названием веб-узла (рис. 8.11), можно ввести с клавиатуры тот же текст "Рога и Копыта", который немедленно появится в коде мастер-страницы. Таким образом, теперь название веб-узла не станет отбираться с серверного источника данных, а будет находиться непосредственно в коде страницы (рис. 8.12).
(рис 8.12) Введите текст в тело прототипа содержимого PlaceHolderSiteNameПримечание. Обратите внимание на значок с буквой i перед названием мастер-страницы на панели Список папок, говорящий о том, что страница настроена вручную в SharePoint Designer (рис. 8.13). Пока эта настройка сводится к замене фрагмента прототипа имени сайта пользовательским текстом.
(рис 8.13) Главная страница default.master настроена вручную Аналогичным образом (рис. 8.14) разрешается вносить форматирование в элементы мастер-страниц. Например, вызывая на экран область задач Изменение стиля, несложно выбрать новый стиль для введенного текста названия сайта (до того размеченного прежним стилем, который использовался по умолчанию для прототипа). Иными словами, как стилевое, так и прямое редактирование главных страниц, не отличается по характеру от этих операций, осуществляемых над aspx-страницами SharePoint.
(рис 8.14) Форматирование стиля элемента на главной странице default.masterРазумеется, изменения, осуществленные с главной страницей, будут применены ко всему узлу. В этом легко убедиться, сохраняя мастер-страницу и возвращаясь в SharePoint Designer к домашней странице узла default.aspx (рис. 8.15). Примечательно, что название сайта на aspx-странице по-прежнему отбирается с главной страницы веб-узла, о чем говорит метка (основная) во вкладке элемента управления прототипом названия узла.
(рис 8.15) Изменения главной странице сказываются на странице содержимогоРедактирование неизменяемых элементов мастер-страниц
Помимо прототипов содержимого, которые допускается менять на aspx-страницах, главные страницы могут содержать неизменяемые элементы, такие, как рисунки, текст и т.д. При наведении указателя на такие элементы, пришедшие с главной страницы, на страницах содержимого, он будет говорить о невозможности их редактирования. В качестве примера можно назвать эмблему узла (см. рис. 8.7).
(рис 8.16) Стоит упомянуть также и о том, что рисунок для эмблемы, по умолчанию, также отбирается из базы данных на сервере. Между тем, как и в случае прототипа, если выделить на главной странице default.master эмблему и заменить ее некоторым рисунком из файла (рис. 8.16), перетащив его название из панели Список папок, то эти изменения будут отражены в коде веб-страницы (рис. 8.17).
(рис 8.17) Логотип на мастер-странице теперь определяется тегом <img> Возврат к определению главной страницы
По мере редактирования главной страницы в SharePoint Designer, на некотором этапе Вам может захотеться вернуться к ее исходному состоянию (например, из-за проведения некоторого нежелательного редактирования или для доступа к элементу, который Вы удалили в ходе работы). Благодаря тому, что службы SharePoint автоматически сохраняют последнее состояние мастер-страницы, настроенное в браузере, всегда можно вернуться к этому исходному виду мастер-страницы. Для этого достаточно вызвать из имени главной страницы на панели Список папок контекстное меню и выбрать в нем команду Возврат к определению узла (рис. 8.18), подтвердив затем свое намерение в дополнительном диалоге-предупреждении.
(рис 8.18) Возврат к исходному состоянию главной страницы В результате первоначальное состояние главной страницы будет восстановлено, а ее отредактированная версия будет сохранена на сервере в виде резервной копии во вновь созданном файле (рис. 8.19).
(рис 8.19) Главная страница в первоначальном состоянииНастройка связи мастер-страниц и страниц содержимого
Ссылка на главную страницу в коде страницы содержимого определяется директивой Page, в самом начале ее кода (рис. 8.20). Однако, для изменения связи с главной страницей лучше пользоваться визуальными средствами SharePoint Designer.
(рис 8.20) Ссылка на главную страницу в коде страницы содержимогоВыбор мастер-страницы по умолчанию
Если для веб-сайта разработано несколько различных мастер-страниц, то переключение между ними позволит быстро поменять дизайн всего сайта. В частности, можно создать копию существующей главной страницы, изменить в ней те элементы, которые должны выглядеть по-другому, а затем назначить эту копию мастер-страницей по умолчанию.
Примечание. Бесплатные образцы мастер-страниц Вы найдете на сайте компании Microsoft (пример одной из них показан на рис. 8.21). Их достаточно загрузить на свой компьютер, а затем, воспользовавшись панелью Список папок, поместить на сервер в папку mastepage.
(рис 8.21) Пример другой мастер-страницыНа веб-узле должен присутствовать хотя бы один файл с расширением .master, который назначен главной страницей по умолчанию. Обычно в качестве главной страницы веб-узла используется файл default.master. Если Вы хотите выбрать в качестве мастер-страницы по умолчанию другой файл, достаточно щелкнуть по нему правой кнопкой на панели Список папок и выбрать в контекстном меню команду Назначить главной страницей по умолчанию (рис. 8.22).
Примечание. Возможно, эта операция потребует процедуры дополнительной авторизации, т.е. введении учетной записи пользователя и пароля администратора сервера (а не администратора текущего узла SharePoint).
(рис 8.22) Выбор мастер-страницы по умолчаниюВ результате все страницы узла, контролируемые главной страницей по умолчанию, изменят свой дизайн (рис.8.23).
(рис 8.23) Вид aspx-страницы при изменении мастер-страницы по умолчаниюНазначение индивидуальной мастер-страницы для aspx-страницы
Для того, чтобы поменять главную страницу не для всего веб-узла, а лишь для конкретной страницы содержимого, следует, находясь в режиме редактирования последней, проделать следующее.
Раскройте верхнее меню Формат и, наведя указатель на пункт Главная страница, выберите в подменю команду Присоединить главную страницу.
В диалоговом окне Выбор главной страницы выберите пункт Настраиваемая главная страница, либо Особая главная страница, определяя путь к файлу с мастер-страницей (рис. 8.24).
Нажмите кнопку ОК.
В результате веб-страница содержимого будет связана с определенной главной страницей, не совпадающей с мастер-страницей узла по умолчанию.
(рис 8.24) Выбор индивидуальной мастер-страницы для aspx-страницыСоздание пустых страниц содержимого на основе мастер-страницы
Завершим разговор о мастер-страницах упоминанием о возможности создания на веб-узле новых aspx-страниц на основе некоторой главной страницы (использующейся по умолчанию или любой другой). Для этого:
Перейдите на панели Список папок в папку catalogs / masterpage.
Щелкните правой кнопкой на названии желаемой мастер-страницы (например, default.master).
В контекстном меню выберите команду (рис 8.25) Создание aspx-страницы на основе мастер-страницы default.master
Сохраните созданную aspx-страницу (рис. 8.26) в файле.
Отметим, что создание описанным способом пустых aspx-страниц является методом оценки дизайна и содержимого главной страницы в Обозревателе, поскольку сами главные страницы открывать для просмотра в Обозревателе не разрешается.
(рис 8.26) Созданная aspx-страница имеет дизайн главной страницы Лабораторные работы
Лабораторная работа 8.1. Главные страницы для всего сайта и для конкретных aspx-страниц
Это упражнение призвано закрепить у читателя понимание того, что мастер-страница по умолчанию определяет дизайн всего веб-сайта, а индивидуальная настройка – только конкретной aspx-страницы.
На панели Список папок откройте папку catalogs / masterpage.
Поместите в нее дополнительную мастер-страницу, чтобы помимо файла default.master присутствовал другой файл, например, another.master или какие-либо иные файлы с расширением .master (как на рис 8.27(рис 8.27) Мастер-страницы должны находиться в папке catalogs / masterpage
Сделайте файл another.master главной страницей по умолчанию (см. рис. 8.22).
Перейдите на (рис 8.28) Откройте домашнюю страницу в браузере
Перейдите к какой-либо другой aspx-странице, например, Общие фотографии или Коллективное обсуждение (рис. 8.29).
Убедитесь, что все страницы сайта теперь имеют одинаковый (изменившийся) дизайн.
(рис 8.29) Пример другой aspx-страницы
Вернитесь в SharePoint Designer на Домашнюю страницу веб-узла
Тем же самым способом верните назначение страницей по умолчанию файла default.master и снова просмотрите в браузере несколько страниц сайта.
Для Домашней страницы при помощи команды Формат / Главная страница / Присоединить главную страницу и диалога Выбор главной страницы определите назначение главной страницы another.master не для всего веб-узла, а лишь для его домашней страницы.
Снова просмотрите Домашнюю страницу в браузере, убедившись, что она контролируется дизайном мастер-страницы another.master.
Просмотрите несколько других веб-страниц сайта, чтобы убедиться в том, что все они контролируются дизайном мастер-страницы default.master (рис. 8.30).
(рис 8.30) Пример другой aspx-страницы
Лабораторная работа 8.2. Редактирование мастер-страницы
В рамках этого примера приведем добавление на мастер-страницу некоторого текста (скажем, сведения об авторских правах), с тем, чтобы этот текст отображался на всех страницах сайта, контролируемых этой мастер-страницей. Выполните следующее.
Откройте файл default.master в SharePoint Designer.
Перейдите к редактированию таблицы в нижнем правом "квадрате" мастер-страницы, зарезервированном за страницей содержимого рис 8.31(рис 8.31) Вставьте новую строку в нижнюю часть таблицы
Вызовите из этой области контекстное меню и выберите в нем команду Вставить / Строка снизу.
Во вставленную нижнюю ячейку таблицы введите текст (рис. 8.32).
Сохраните мастер-страницу.
(рис 8.32) Введите текст в нижнюю ячейку таблицы
Перейдите к домашней странице в SharePoint Designer запустите ее просмотр в браузере.
Убедитесь в том, что все страницы сайта теперь содержат одинаковый текст, приходящий с мастер-страницы (рис. 8.33)
(рис 8.33) Просмотрите сведения о копирайте на нескольких страницах веб-узла
Лабораторная работа 8.3. Просмотр коллекции главных страниц в браузере
Перечень главных страниц, присутствующих на узле, допускается просматривать в браузере. Рассмотрим, как это делается.
Откройте меню Действия узла и выберите пункт Параметры узла.
В разделе (рис 8.34) Перейдите к коллекции главных страниц
Просмотрите коллекцию главных страниц (рис. 8.35).
Если Вы хотите отредактировать главную страницу, выделите ее в и щелкните пункт Изменить, чтобы открыть ее в SharePoint Designer.
(рис 8.35) Коллекции главных страниц веб-узла
Краткие итоги
Домашняя страница узла SharePoint является страницей содержимого, выполненной на основе шаблона мастер-страницы.
Главная страница, или мастер-страницы, – это составляющие среды ASP.NET 2.0. Поэтому они работают одинаково в узлах Службы Windows SharePoint Services 3.0 и Office SharePoint Server 2007, т.к. обе эти технологии основаны на ASP.NET 2.0. Используя главные страницы, можно создать одну единственную страницу шаблона, а затем использовать этот шаблон в качестве основы для нескольких страниц веб-узла.
Главная страница имеет расширение .master и хранятся в папке _catalogs / masterpage в папке веб-узла на сервере.
Страница содержимого (с расширением .aspx), просматриваемая в браузере, формируется благодаря слиянию главных страниц и, собственно, элементов содержимого, расположенных на aspx-странице. Поэтому наполнение aspx-страницы, которое мы наблюдаем в SharePoint Designer, является комбинацией элементов с главных страниц, а также элементов, расположенных непосредственно на странице содержимого.
По умолчанию каждый узел имеет одну главную страницу, которая хранится в галерее главных страниц. В этой галерее можно сохранять неограниченное количество главных страниц, но в качестве главной странице для узла можно выбрать только одну. Пользуясь SharePoint Designer, разрешается назначить разные главные страницы отдельным aspx-страницам веб-узла.