Умбрако Вложенные Мастер-страницы - PullRequest
2 голосов
/ 03 февраля 2012

Я пытаюсь создать вложенные главные страницы в Umbraco 4.7.1, и у меня возникают проблемы.

У меня есть тип документа masterpage и индексный тип документа, который является потомком masterpage.

Тогда у меня есть отдельный тип документа, который называется слайд-шоу.

Мой контент выглядит так:

  • Индекс
    • 1012 * Слайд-Шоу *

В шаблоне моей главной страницы есть ссылка на индекс:

    <asp:ContentPlaceHolder ID="Content" runat="server" />

тогда внутри индекса мой код находится между

    <asp:Content ContentPlaceHolderID="Content" runat="server">
    </asp:Content>

и внутри шаблона индекса я ссылаюсь на следующий уровень, который является ползунком изображения

    <asp:ContentPlaceHolder ID="SlideShow" runat="server" />

, а шаблон слайд-шоу имеет код между

    <asp:Content ContentPlaceHolderID="SlideShow" runat="server">
    </asp:Content> 

Это работало для индекса, но не для слайд-шоу.

Единственное отличие, которое я могу придумать, заключается в том, что тип документа для индекса на самом деле является дочерним типом документа мастера. А тип документа SlideShow на самом деле является собственным типом документа. Ни один из них не является ребенком.

Есть идеи, как заставить это работать?

1 Ответ

5 голосов
/ 03 февраля 2012

Наличие вложенных страниц внутри Umbraco прекрасно. На самом деле, это механизм ASP.Net, который не обязательно связан с какой-либо иерархией в Умбрако. Таким образом, можно иметь уникальные типы документов Umbraco, которые не наследуются друг от друга, но один главный шаблон вложен в другой.

Основные шаблоны работают так, что мастер не указывает, какие шаблоны наследуют от него, это всегда дочерний шаблон, ссылающийся на главный шаблон, во многом как наследование в объектно-ориентированных языках программирования. Тег <asp:Content /> в дочернем элементе указывает, какой <asp:ContentPlaceHolder /> он использует от родителя.

Я немного сбит с толку, как вы настраиваете основные шаблоны из описания, но вы должны попытаться настроить его следующим образом ...

Основной шаблон Root:

<asp:ContentPlaceHolder ID="Content" runat="server" />

Главный шаблон индекса:

<asp:Content ContentPlaceHolderID="Content" runat="server">

    <!-- your html -->

    <asp:ContentPlaceHolder ID="IndexLeft" runat="server" />

    <!-- your html -->

    <asp:ContentPlaceHolder ID="IndexRight" runat="server" />

    <!-- your html -->

</asp:Content>

Основной шаблон слайд-шоу:

<asp:Content ContentPlaceHolderID="IndexLeft" runat="server">

    <!-- your html -->

</asp:Content>
<asp:Content ContentPlaceHolderID="IndexRight" runat="server">

    <!-- your html -->

</asp:Content>

Вы можете создавать столько вложенных шаблонов, сколько пожелаете, если это разрешено. При создании типа документа с использованием шаблона Index слайд-шоу не будет включено. Вместо этого вам нужно дать ему шаблон Slide Show.

Подробнее об этом здесь: http://msdn.microsoft.com/en-us/library/ie/x2b3ktt7.aspx

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...