Поделиться через


Практическое руководство. Настройка домашней страницы для мобильных устройств с помощью перенаправления

Дата последнего изменения: 2 февраля 2011 г.

Применимо к: SharePoint Foundation 2010

Как описано в разделе Перенаправление на домашнюю страницу, у Microsoft SharePoint Foundation есть вторая система перенаправления только для домашних страниц. В этом разделе описывается, как можно изменить эту систему, чтобы пользователи мобильных устройств могли видеть альтернативную домашнюю страницу для определенных типов сайтов.

ПримечаниеПримечание

Перенаправление на домашнюю страницу вызывается только в том случае, если пользователь мобильного устройства получает доступ к домашней странице веб-сайта с помощью одного из следующих методов.

Перенаправление может вызываться из браузера с помощью /m/ или за счет добавления ?Mobile=1 после default.aspx в URL-адресе.

Метод, описанный в этом разделе, не влияет на пользователей мобильных устройств, которые для посещения домашней страницы используют только URL-адрес веб-сайта (http://MyServer/MyWebSite/) или страницу, отличную от default.aspx (http://MyServer/MyWebSite/HomePage.aspx).

При перенаправлении на домашнюю страницу используется двухуровневый механизм перенаправления. Мобильные устройства изначально перенаправляются на страницу default.aspx для мобильных устройств, расположенную в папке %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\MOBILE. Затем страница default.aspx перенаправляет пользователя на фактическую домашнюю страницу в соответствии с текущим типом определения сайта, используя следующую последовательность действий.

  1. В default.aspx содержится единственный элемент управления, сообщающий среде выполнения, что необходимо использовать класс RenderingTemplate с именем MobileHomePageRedirect.

  2. Среда выполнения ищет в памяти все элементы управления визуализацией, загруженные из ASCX-файлов в папку %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\CONTROLTEMPLATES, с именем RenderingTemplate и находит один из них (загруженный из файла MobileDefaultTemplates.ascx).

  3. Свойство Template элемента управления MobileHomePageRedirect указывает среде выполнения на объект класса SPMobileWebUrlRedirect.

  4. Объект SPMobileWebUrlRedirect строит имя другого RenderingTemplate с помощью шаблона Mobile_SiteTypeID_HomePage_Redirect, где SiteTypeID — имя определения сайта, входящего в состав SharePoint Foundation, например STS, SGS или BLOG, или идентификатор определения настраиваемого сайта, например 10001. (Дополнительные сведения см. в разделе справки о классе SPMobileWebUrlRedirect.)

  5. Для поиска второго RenderingTemplate среда выполнения просматривает все шаблоны визуализации, загруженные из ASCX-файлов в папку %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\CONTROLTEMPLATES.

    • Если SiteTypeID имеет значение BLOG, то среда выполнения обнаружит RenderingTemplateMobile_BLOG_HomePage_Redirect в файле MobileDefaultTemplates.ascx. Последнее свойство Template элемента управления указывает среде выполнения на объект класса SPMobileHomePageRedirection, свойство PageFileName которого задает в качестве домашней страницу bloghome.aspx.

    • Если значение SiteTypeID отлично от BLOG и настраиваемые ASCX-файлы не были созданы, то среда выполнения использует RenderingTemplateMobile_Default_HomePage_Redirect в файле MobileDefaultTemplates.ascx. Последнее свойство Template элемента управления указывает среде выполнения на объект класса SPMobileHomePageRedirection, свойство PageFileName которого задает в качестве домашней страницу mblwp.aspx.

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

Процедуры

Замена домашней страницы для мобильных устройств путем перенаправления

  1. В Microsoft Visual Studio создайте Пустой проект SharePoint. Выберите фермы, а не для песочницы.

  2. Добавьте сопоставленную папку SharePoint в папку TEMPLATE\LAYOUTS\MOBILE.

  3. Щелкните правой кнопкой мыши новую папку и добавьте обычный текстовый файл, который будет новой домашней страницей, а затем выберите имя с расширением ASPX; например, ContosoHomePage.aspx. Visual Studio автоматически добавляет файл в манифест решения SharePoint и задает параметры для его развертывания в папке %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\MOBILE.

    СоветСовет

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

  4. Скопируйте содержимое существующей страницы из папки %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\MOBILE, например mblwiki.aspx, mblwp.aspx, mblwpdetail.aspx или bloghome.aspx, в пользовательский файл.

  5. Измените содержимое файла, как необходимо. (Для быстрой проверки скопируйте содержимое файла mblwiki.aspx и поменяйте параметры цвета переднего плана и фонового цвета местами в заголовке, чтобы заголовок страницы стал темным сине-серым на белом фоне вместо стандартного белого на темном сине-сером фоне.)

  6. Добавьте сопоставленную папку SharePoint в папку TEMPLATE\ControlTemplates.

  7. Щелкните правой кнопкой мыши новую папку и добавьте пользовательский элемент управления в папку. Присвойте ASCX-файлу имя, которое позволит отличить его от файлов других поставщиков решений, например ContosoHomePageRedirection.ascx. Visual Studio автоматически добавит файл в манифест решения SharePoint и настроит его для развертывания в папку %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates.

    СоветСовет

    Не добавляйте Пользовательский элемент управления, щелкнув правой кнопкой мыши проект в обозревателе решений. При добавлении пользовательского элемента управления этим способом Visual Studio помещает его во вложенную папку TEMPLATE\ControlTemplates и, если элемент управления не перемещен, развертывает его в соответствующую вложенную папку %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates. Шаблоны отображения для мобильных устройств, находящиеся во вложенных папках, не загружаются.

  8. Удалите файлы .ascx.cs и .ascx.designer.cs (либо .ascx.vb и .ascx.designer.vb). Эти файлы для данного проекта не требуются.

  9. Замените весь раздел директив в 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" %>
    
  10. Добавьте шаблон визуализации в ASCX-файл и задайте для него идентификатор в следующем формате: Mobile_SiteTypeID_HomePage_Redirect.

    SiteTypeID может иметь следующие значения.

    • Имя определения сайта группы: "STS"

    • Имя определения сайта рабочей группы: "SGS"

    • Номер идентификатора (не имя) создаваемого определения настраиваемого сайта.

    Шаблон RenderingTemplateMobile_BLOG_HomePage_Redirect уже определен в файле MobileDefaultTemplates.ascx. Этот файл изменять нельзя. Можно создать второй шаблон RenderingTemplate с таким же именем Mobile_BLOG_HomePage_Redirect в настраиваемом ASCX-файле, но это может привести к повреждению других установленных пользовательских решений или решений сторонних производителей, которые, возможно, зависят от существующего Mobile_BLOG_HomePage_Redirect.

    Шаблоны RenderingTemplate, поставляемые вместе с SharePoint Foundation, загружаются первыми, поэтому стандартный шаблон визуализации переопределяется при загрузке настраиваемого шаблона с тем же именем. Если как минимум два настраиваемых шаблона RenderingTemplate имеют одинаковые имена, шаблон с последним по алфавиту именем файла переопределяет другие. Если конкретный файл имеет несколько шаблонов с одинаковыми именами, ни один из них не загружается.

    ПримечаниеПримечание

    MPS, CENTRALADMIN, TENANTADMIN и устаревшие определения сайта WIKI не поддерживают доступ с мобильных устройств.

    ПримечаниеПримечание

    Имя определения сайта определяется атрибутом Name элемента Template в файле WebTemp.xml, а идентификатор определения сайта задается атрибутом ID того же элемента. Дополнительные сведения об этих атрибутах см. в статье WebTemp.xml.

    Важное примечаниеВажно!

    Элемент Configurationконфигурации определения сайта в файле Onet.xml определения сайта должен содержать элемент WebFeatures, а в этом элементе должен содержаться элемент компонента перенаправления на домашнюю страницу: <Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" />.

    Далее показан пример шаблона, который перенаправляет мобильные устройства, обращающиеся к веб-сайтам на основе определения сайта STS, на страницу ContosoHomePage.aspx.

    <SharePoint:RenderingTemplate RunAt="Server"
       ID="Mobile_STS_HomePage_Redirect">
      <Template>
        <SPMobile:SPMobileHomePageRedirection RunAt="Server" 
          PageFileName="ContosoHomePage.aspx" />
      </Template>
    </SharePoint:RenderingTemplate>
    
  11. В меню Построение выберите команду Развернуть решение. При этом ASCX-файл будет автоматически сохранен, два файла будут развернуты, а веб-приложение — перезапущено, в результате чего все ASCX-файлы в этой папке будут перезагружены.

  12. Проверьте новую домашнюю страницу с помощью мобильного устройства или эмулятора. Обратите внимание, что отображение альтернативной или исходной домашней страницы зависит от используемого URL-адреса. Дополнительные сведения см. выше в этом разделе.

См. также

Концепции

Разработка для мобильных устройств с помощью SharePoint Foundation

Другие ресурсы

Рекомендации по разработке для мобильных устройств