Практическое руководство. Настройка домашней страницы для мобильных устройств
Дата последнего изменения: 2 февраля 2011 г.
Применимо к: SharePoint Foundation 2010
В этом разделе содержатся общие сведения о настройке домашней страницы Microsoft SharePoint Foundation, которая отображается для мобильных устройств. Подробное описание см. в статье Настройка домашней страницы для мобильных устройств. Общие сведения о настройке представления списка и страниц формы см. в статье Практическое руководство. Настройка представления списка и страниц формы для мобильных устройств.
Элементы управления, расположенные в областях верхнего (Title) и нижнего колонтитула (Navigation), а также в основной области (Contents) домашней страницы для мобильных устройств, запускают цепочку вызовов, которая в конечном итоге приводит к вызову объекта RenderingTemplate, отображающему соответствующую область домашней страницы для мобильных устройств (подробное описание см. в статье Система отображения страниц для мобильных устройств). Объект RenderingTemplate практически всегда содержит сегментированный идентификатор. Если не удается найти объект RenderingTemplate с соответствующим именем, используется шаблон по умолчанию. Это означает, что для настройки верхнего и нижнего колонтитулов, а также в основной области можно создать объект RenderingTemplate с идентификатором, который будет искать среда выполнения.
А именно, среда выполнения выполнит поиск идентификатора RenderingTemplate, который имеет следующий формат:
IntendedPageUse_SiteTypeID_HomePage_PageArea
Заполнители IntendedPageUse, SiteTypeID и PageArea определены в подразделе Сегментированные идентификаторы шаблонов отображения. Дополнительные сведения об этих разделах домашней страницы для мобильных устройств см. в статье Макет и разбивка страниц для мобильных устройство.
Для заполнителей IntendedPageUse, SiteTypeID и PageArea: если не обнаружен объект RenderingTemplate с совпадающим именем, вместо SiteTypeID используется "Default":
IntendedPageUse_Default_HomePage_PageArea
Например, если среда выполнения ищет объект RenderingTemplate с идентификатором WebPartMobile_STS_HomePage_Title, он не будет найден (если не был добавлен настраиваемый шаблон с этим именем). Поэтому для отображения области верхнего колонтитула (Title) домашней страницы сайта STS для мобильных устройств будет использоваться идентификатор WebPartMobile_Default_HomePage_Title, который существует.
Следовательно, чтобы настроить отображение верхнего колонтитула домашней страницы сайта STS для мобильного устройства, необходимо создать элемент RenderingTemplate с идентификатором WebPartMobile_STS_HomePage_Title в ASCX-файле, для развертывания которого используется папка %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates. Файлы MobileDefaultTemplates.ascx и GbwMobileDefaultTemplates.ascx изменять нельзя. Дополнительные сведения о создании настраиваемого шаблона отображения домашней страницы для мобильных устройств см. ниже в настоящем разделе, а также в документе Настройка домашней страницы для мобильных устройств.
Существующие шаблоны отображения
В приведенном ниже списке содержатся RenderingTemplate для домашних страниц мобильных устройств, которые уже существуют в файле MobileDefaultTemplates.ascx или GbwMobileDefaultTemplates.ascx, когда SharePoint Foundation установлен.
Mobile_STS_HomePage_Title
Mobile_STS_HomePage_Contents
WebPartMobile_SGS_HomePage_Contents
WebPartMobile_STS_HomePage_Contents
Можно создать новый элемент RenderingTemplate (в собственном ASCX-файле), используя такой же идентификатор, как у одного из существующих шаблонов отображения. Но в этом случае может возникнуть конфликт идентификаторов в других решениях, развернутых в SharePoint Foundation и зависящих от исходного объекта RenderingTemplate.
Примечание |
---|
Сначала загружаются шаблоны отображения, поставляемые с SharePoint Foundation, а затем — настраиваемые шаблоны отображения. Поэтому, если идентификатор настраиваемого шаблона совпадает с идентификатором одного из существующих шаблонов отображения, исходный шаблон переопределяется. Если идентификаторы двух или более настраиваемых шаблонов отображения совпадают, шаблон, имя которого по алфавиту стоит дальше других, переопределит все остальные шаблоны. Если для одного файла существуют два или более шаблонов отображения с одинаковым идентификатором, ни один из них не будет загружен. |
Следующие объекты RenderingTemplate также определены в файле MobileDefaultTemplates.ascx или GbwMobileDefaultTemplates.ascx. Они используются средой выполнения в случае, если для текущего типа сайта не определен объектRenderingTemplate. (Поэтому эти шаблоны будут управлять отображением домашней страницы всех страниц веб-сайта на основании определений сайта, пока не будет создан настраиваемый шаблон отображения с идентификатором IntendedPageUse_ CustomSiteID#_HomePage_PageArea.) Аналогичная ситуация возникает и при создании нового объекта RenderingTemplate с любым из этих идентификаторов.
Mobile_Default_HomePage_Title
Mobile_Default_HomePage_Contents
Mobile_Default_HomePage_Navigation
WebPartMobile_Default_HomePage_Title
WebPartMobile_Default_HomePage_Contents
WebPartMobile_Default_HomePage_Navigation
WebPartMobileDetail_Default_HomePage_Contents
WebPartMobileDetail_Default_HomePage_Navigation
Объекты RenderingTemplate можно вкладывать. См. пример в следующем разделе.
Настройка раздела домашней страницы для мобильного устройства
В Microsoft Visual Studio создайте Пустой проект SharePoint. Выберите фермы, а не для песочницы.
Добавьте сопоставленную папку SharePoint в папку TEMPLATE\ControlTemplates.
Щелкните новую папку правой кнопкой мыши и добавьте Пользовательский элемент управления SharePoint. Присвойте ASCX-файлу имя, которое позволит его отличить от файлов других поставщиков решений, например ContosoMobileRenderingTemplates.ascx. Visual Studio автоматически добавит файл в манифест решения SharePoint и настроит его на развертывание в папку %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates.
Совет Не добавляйте Пользовательский элемент управления щелчком правой кнопкой мыши по проекту в обозревателе решений. Когда Пользовательский элемент управления добавляется таким способом, Visual Studio помещает его во вложенную папку папки TEMPLATE\ControlTemplates. Если этот элемент управления не переместить, Visual Studio развертывает его в соответствующую вложенную папку папки %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates. Шаблоны отображения для мобильных устройств, находящиеся во вложенных папках, не загружаются.
Удалите файлы .ascx.cs и .ascx.designer.cs (либо .ascx.vb и .ascx.designer.vb). Эти файлы для данного проекта не требуются.
Замените весь раздел директив в ASCX-файле на следующую разметку:
<%@ Register TagPrefix="GroupBoardMobile" Namespace="Microsoft.SharePoint.Applications.GroupBoard.MobileControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Control Language="C#" %> <%@ Assembly Name="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" %> <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register TagPrefix="SPMobile" Namespace="Microsoft.SharePoint.MobileControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register TagPrefix="WPMobile" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
Добавьте шаблон отображения в ASCX-файл и назначьте ему идентификатор в следующем формате: IntendedPageUse_SiteTypeID_HomePage_PageArea.
IntendedPageUse — Mobile, WebPartMobile или WebPartMobileDetail.
SiteTypeID может принимать значения STS, SGS, BLOG или идентификационный номер (не имя) любого настраиваемого определения сайта. (ИД определения сайта задается с помощью атрибута ID элемента Template в файле WebTemp.xml. Дополнительные сведения об атрибуте ID определения сайта см. в статье WebTemp.xml.)
Для PageArea можно использовать значения Title, Contents или Navigation.
Выберите в меню Построение пункт Развернуть решение. При этом ACSX-файл автоматически сохраняется и развертывается в папку %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates, а веб-приложение — перезапускается, в результате чего все ACSX-файлы в этой папке будут перезагружены.
Пример
В следующем примере определения RenderingTemplate показано вложение объектов RenderingTemplate. В этом случае настраиваемый шаблон добавляет ссылку на домашнюю страницу Майкрософт для мобильных устройств в нижний колонтитул, а затем для отображения остальной части колонтитула вызывает шаблон отображения нижнего колонтитула по умолчанию.
Если мобильное устройство не поддерживает отображение форматированного текста, домашняя страница STS для мобильного устройства — mblwp.aspx, и пользователь увидит новую ссылку в верхней части нижнего колонтитула.
Если устройство поддерживает отображение форматированного текста, домашняя страница STS для мобильного устройства — mblwiki.aspx. Элемент управления в области нижнего колонтитула (Navigation) этой страницы не вызывает шаблон отображения с сегментированным именем, даже косвенно. В частности, не вызывается WebPartMobile_STS_HomePage_Navigation. По этой причине нижний колонтитул mblwiki.aspx нельзя настроить с помощью способа, описанного в данном разделе. Таким образом, процедура настройки, описанная в этом примере, изначально не предназначена для мобильных устройств, поддерживающих отображение форматированного текста. Для таких устройств в качестве домашней страницы можно настроить страницу mblwp.aspx, путем замены (в адресной строке браузера мобильного устройства) "wiki" в mblwiki.aspx на "wp". Область верхнего колонтитула (Title) и основная область (Contents) в mblwiki.aspx и соответствующие им области в файле mblwp.aspx используют одинаковые шаблоны отображения, поэтому процедура, описанная в этом разделе, может использоваться для настройки области верхнего колонтитула и основной области как для устройств, поддерживающих отображение форматированного текста, так и не поддерживающих его.
Другой пример настройки домашней страницы для мобильных устройств см. в статье Настройка домашней страницы для мобильных устройств.
<SharePoint:RenderingTemplate ID="WebPartMobile_STS_HomePage_Navigation" RunAt="Server">
<Template>
<mobile:Link Text="Microsoft Mobile" href="http://mobile.microsoft.com/en-us/default.mspx" RunAt="Server" />
<SPMobile:SPMobileComponent TemplateName="WebPartMobile_Default_HomePage_Navigation" RunAt="Server" />
</Template>
</SharePoint:RenderingTemplate>
См. также
Задачи
Настройка домашней страницы для мобильных устройств
Практическое руководство. Настройка представления списка и страниц формы для мобильных устройств