Я не собираюсь вдаваться в подробности, но я определю некоторые ключевые элементы около DotNetNuke Skinning
и некоторые потенциальные проблемы, с которыми вы можете столкнуться.
Кожа может быть написана одним из двух способов: html
или ascx
. Самый распространенный способ - через ascx
.
html
: Когда вы используете этот метод, любые изменения в коже не будет применяться до тех пор, пока DotNetNuke
разбирает кожу. Когда DotNetNuke
выполняет этот синтаксический анализ, он будет ссылаться на ваш манифест, чтобы правильно разобрать все значения, чтобы он отображался.
ascx
: Этот способ не нуждается в анализе, изменения, которые вы сделаете, мгновенно начнутся в прямом эфире. Это облегчает манипуляции. Тем не менее, это все равно будет содержать манифест для определения вашего контента.
Теперь, самый простой способ представить DotNetNuke
структуру через Panes
и Containers
. По существу Pane
всегда будет обернут в пределах Container
.
Но как мне создать кожу?
Следует отметить, что с DotNetNuke
вы склонны не создавать сайт именно для этой страницы. Вы создаете более сложные структуры, которые могут использоваться в более общем смысле. Например:
Так с картинке вы видите несколько ключевых элементов, таких как:
- Logo
- Поиск
- Войти
- Меню
- Баннер
- Группировка трех C ontent.
- Группировка четырех материалов.
- Другие части содержания.
- Нижний колонтитул, который также сгруппирован по четыре.
По существу, у нас довольно простая структура данных. Который обычно включал бы некоторую довольно основную организацию. Но мой вопрос, как вы объясняете или мобильные устройства или различные макеты страниц, такие как:
Теперь у вас есть немного более сложный вопрос. Ну, DotNetNuke
действительно сохранил несколько соображений. Держите разработчика в качестве разработчика, дизайнера в качестве дизайнера. Это позволяет большим группам работать с сайтом гибко, не разрушая работу другого.
В каждом DotNetNuke
кожи вы увидите эти:
<%@ Control language="C#" AutoEventWireup="false" Explicit="True" Inherits="DotNetNuke.UI.Skins.Skin" %>
<%@ Register TagPrefix="dnn" TagName="LOGO" Src="~/Admin/Skins/Logo.ascx" %>
Что это? Ну, первый определяет наш ascx
. Главное - второе. По существу DotNetNuke
имеет доступные токены, эти жетоны позволят коже отражать изменения, сделанные в пределах DotNetNuke
в его интерфейсе.
Итак, когда мы ссылаемся на основное местоположение, а не на статический объект. Это позволяет интерфейсу DotNetNuke
автоматически вводить логотип в местоположение.
Whoa, вы потеряли меня. Если это только ссылка, как мы укажем местоположение?
<%@ Register TagPrefix="dnn" TagName="LOGO" Src="~/Admin/Skins/Logo.ascx" %>
Будет ссылаться на наш объект. Чтобы указать местоположение в пределах нашего сайта вы могли бы сделать это:
<div class = "example_logo">
<dnn:LOGO runat="server" id="dnnLOGO" BorderWidth="0" />
</div>
Таким образом, мы, по существу, обернув наш маркер объекта в div
элемента. Тогда мы на самом деле вызываем наш токен. Это физически разместит логотип с сайта DotNetNuke
на вашем сайте.
Это по существу устраняет статический подход и позволяет ему стать динамичным.
Так что это важно, но как мне создать структуру?
<div id="Origin">
<div class="Wrapper">
<div id="Origin-Header">
<div class="origin-header clearfix">
<!-- Header Elements -->
<div class=origin-logo>
<dnn:LOGO runat=server" id="dnnLOGO" BorderWidth="0" />
</div>
<div class="origin-login">
<dnn:LANGUAGE runat="server" id="dnnLANGUAGE" showMenu="false" showLinks="true" />
<dnn:LOGIN runat="server" id="dnnLOGIN" CssClass="login" /> | <dnn:USER runat="server" id="dnnUSER" CssClass="user" />
<dnn:SEARCH runat="server" id="dnnSEARCH" UseDropDownList="true" ShowSite="false" ShowWeb="false" />
</div>
</div>
</div>
!-- Banner -->
<div id = "Origin-Banner">
<div class = "origin-banner-pane" id="origin-banner-pane" runat="server" />
</div>
Так выше пример, чтобы вы начали. Как вы видите, что используете свои основные знания для создания сайта-структуры. Ваше просто заполнение DotNetNuke Tokens
в ваш дизайн. Затем, где вы хотите, чтобы модули DotNetNuke
заполняли ваши сайты, данные с интерфейса DotNetNuke
находятся в пределах этих Panes
.
Теперь следующим важным аспектом станет необходимая упаковка вашей кожи. Это фактически гарантирует правильность его работы после его установки.
Вы можете получить более подробную информацию от http://www.dotnetnuclear.com и http://www.dnnchat.com
Надеемся, что это обеспечивает основы, чтобы вы начали. Что оставляет упаковку и проявляется влево.
Надеюсь, это указывает на то, что вы в правильном направлении и помогаете.
Не стесняйтесь задавать вопросы или следовать этим сайтам, чтобы попытаться получить дополнительную информацию по этому вопросу.
К сожалению, для скинов DNN трудно получить учебники –
Я не уверен, как скоро вам это понадобится, но я попытаюсь написать блог об этом. – Greg
эй .. сделал и нашел что-нибудь полезное .. Мне также нужно разработать скин с начала – shashwat