Сообщество русскоговорящих пользователей
CMS DotNetNuke
   Вы здесь:  Форум
Добро пожаловать, Гость. Чтобы воспользоваться всеми функциями форума - зарегистрируйтесь или аутентифицируйтесь.
adonis Offline
#1 Оставлено : 20 июня 2008 г. 4:49:50(UTC)
adonis

Статус: Новичок

Зарегистрирован: 11.02.2008(UTC)
Сообщений: 6

Всем привет.
У меня есть графическое представление главной страницы, которое я хочу отверствовать и прикрутить к DNN. Правда не знаю с какого боку подойти. Подскажите с чего начинать, как правильно создать шаблон, может есть какие-то образцы? Заранее спасибо!
Реклама
ZoolooS Offline
#2 Оставлено : 20 июня 2008 г. 5:21:44(UTC)
ZoolooS

Статус: Старожил

Зарегистрирован: 13.04.2007(UTC)
Сообщений: 212

мм.. ставишь днн.. там в папке порталс/дефаулт/скинз есть дефолтный скин.. вот по аналогии с ним и верстаешь.. коме того советую почитать официальный мануал. он хоть и на английском, но на довольно не сложном английском.
ну и тут где-то были ссылочки на страницы с описанием "солпартменю" и серверных тегов днн.
adonis Offline
#3 Оставлено : 20 июня 2008 г. 6:05:14(UTC)
adonis

Статус: Новичок

Зарегистрирован: 11.02.2008(UTC)
Сообщений: 6

ZoolooS написал:
мм.. ставишь днн.. там в папке порталс/дефаулт/скинз есть дефолтный скин.. вот по аналогии с ним и верстаешь..

DNN стоит, но хочется поподробней узнать о процессе "верстки по аналогии".

Здесь http://www.dotnetnukeru.com/Opisanie.aspx было написано:
Цитата:
"Шкурки" для DNN создаются предельно просто (за исключением меню, с которым, вероятно, придётся повозиться). Достаточно создать HTML-шаблон оформления (со стилями, картинками...), добавив в него в нужных местах элементы вроде "[CURRENTDATE]", "[LOGO]", "[USER]", "[LOGIN]" и так далее. После загрузки этого шаблона на сайт DNN сам отпарсит его, автоматически приведя к своему "внутреннему" виду, который он непосредственно использует в работе. Точно так же создаются контейнеры модулей. Есть даже функция "предварительный просмотр" - кликаешь по ссылке, и в новом окне появится вариант оформления с выбранной вами шкуркой и контейнерами. Шаблоны оформления можно задавать как для сайтов в целом, так и прописывать для отдельных страниц в индивидуальном порядке.

Есть ли более подробный по этому мануал?

Отредактировано пользователем 20 июня 2008 г. 6:34:44(UTC)  | Причина: Не указана

ZoolooS Offline
#4 Оставлено : 20 июня 2008 г. 9:11:46(UTC)
ZoolooS

Статус: Старожил

Зарегистрирован: 13.04.2007(UTC)
Сообщений: 212

эм.. ну с ДНН доки идут как я уже написал выше..
а вообще там действительно если не считать меню, то ничего сложного.
в двух словах это так.. Берем дизайн (т.е. нарисованная картинка). режем ее и верстаем обычную html-страницу (ну естественно рядом лежат картинки и css). Предположем что получилось что-то типа:
Код:

+------------+---------------------------------------------------+
| лого сайта | Заголовок |
+------------+--------------------------------+------------------+
| | хлебные крошки | |
| меню +--------------------------------+ |
| | | какиенить |
| | | левые |
| | | линки |
| | здесь будет контент | |
+------------+ | |
| | | |
| банеры | | |
| | | |
+------------+--------------------------------+------------------+
| футер |
+----------------------------------------------------------------+

так вот часть этой страницы должна быть статичной (оформление), часть статичной, но редактируемой. и часть динамической (например какаянить статистика или просто какие-то данные из БД выводятся).
получается что оформление (фоновые картинки, параметры текста и т.п.) мы оставляем в скине, тогда как там где должны быть данные мы вставляем соответствующие серверные теги. Если скин у нас в html, то они будут выглядеть "[CURRENTDATE]", "[LOGO]", "[USER]", "[LOGIN]" и так далее, если же мы правим прямо в виде aspx, то они будут в виде <dnn:breadcrumb id="..." ...> плюс в начале файла должны быть подключены соответствующие модули. Подробнее в мануале.

так вот.. в нашем скине мы вставляем эти самые теги:
Код:

+-------------+---------------------------------------------------+
| [LOGO] | Заголовок [LOGIN] |
+-------------+--------------------------------+------------------+
| | [BREADCRUMB] | |
| +--------------------------------+ |
|[SOLPARTMENU]| | [righttpane] |
| | | |
| | | |
| | [contentpane] | |
+-------------+ | |
| | | |
|[lefttpane] | | |
| | | |
+-------------+--------------------------------+------------------+
| [CURRENTDATE] [COPYRIGHT] |
+-----------------------------------------------------------------+

И скармливаем эту страничку ДНН как скин. Он ее пропарсит в acpx и все.

А вообще в двух словах сложно объяснить.
adonis Offline
#5 Оставлено : 20 июня 2008 г. 11:46:25(UTC)
adonis

Статус: Новичок

Зарегистрирован: 11.02.2008(UTC)
Сообщений: 6

Спасибо большое Good , буду пробовать!
ZoolooS Offline
#6 Оставлено : 20 июня 2008 г. 13:04:54(UTC)
ZoolooS

Статус: Старожил

Зарегистрирован: 13.04.2007(UTC)
Сообщений: 212

а еще лучше открыть скин Дримвивером. а в сам дримвивер поставить плагин для работы с ДНН (можно кликами мышкой вставлять серверные теги и их атрибуты), тут где-то ссылки валялись.
slavagankin Offline
#7 Оставлено : 26 июня 2008 г. 12:49:42(UTC)
slavagankin

Статус: Новичок

Зарегистрирован: 26.06.2008(UTC)
Сообщений: 1

Цитата:
И скармливаем эту страничку ДНН как скин. Он ее пропарсит в acpx и все.


А можно чуть подробнее про процедуру скармливания? какие файлы скармливаются?
Dead Мазай Offline
#8 Оставлено : 27 июня 2008 г. 4:22:14(UTC)
Dead Мазай

Статус: Новичок

Зарегистрирован: 27.06.2008(UTC)
Сообщений: 1

необходимые файлы для твоего скина могут быть следующими: .ascx, .htm, .html, .css, .jpg, .bmp, .png, .gif, .xml. а остальное придется удалить по крайней мере из архивов =).

процедура следующая:

1)созданый скин суешь в zip архив (по выбранным файлам правым кликом->отправить->zip архив);

2)полученный архив переименовываешь в skins.zip;

3)если есть контейнер, процедура та же что и со скином, только архив именуешь как containers.zip;

4)далее полученные архивы складываешь еще раз в zip архив, и именуешь его как душе угодно;

5)после заходишь на свой сайтик по юзером, выбираешь пункт скины. ниже увидишь что то типа "Upload skins". тебе сюда. выбираешь свой скин и говоришь "Install Skin". вот и все дела.

з.ы. только учти чтобы кроме файлов относящихся к твоему скину больше ничего не было.(что то на подобии thumbs.db).

ну вроде все. удачи!

Отредактировано пользователем 27 июня 2008 г. 4:26:52(UTC)  | Причина: Не указана

ZoolooS Offline
#9 Оставлено : 1 июля 2008 г. 9:38:47(UTC)
ZoolooS

Статус: Старожил

Зарегистрирован: 13.04.2007(UTC)
Сообщений: 212

можно и так.. если нет доступа к файловой системе.. если же есть то проще править сразу в ascx или html.
У меня так происходит:
Захожу в папку Порталз/Дефолт/Скинз (если должен быть доступен только одному сайту, то путь меняется на Порталз/хх/Скинз, если правим Контейнер, то соответственно идем в папку Контейнерз).
создаю папку с именем, которое хочу чтобы было у скина/контейнера
в этой папке создаю папку img, в которой будут храниться картинки используемые в скине/контейнере
и 2 файла - skin.css и skin.ascx
первый это обычный css-файл
второй это файл вида:
Код:

<%@ Control language="vb" CodeBehind="~/admin/Skins/skin.vb" AutoEventWireup="false" Explicit="True" Inherits="DotNetNuke.UI.Skins.Skin" %>
<%@ Register TagPrefix="dnn" TagName="SOLPARTMENU" Src="~/Admin/Skins/SolPartMenu.ascx" %>
<%@ Register TagPrefix="dnn" TagName="LOGIN" Src="~/Admin/Skins/Login.ascx" %>
<%@ Register TagPrefix="dnn" TagName="USER" Src="~/Admin/Skins/User.ascx" %>
<%@ Register TagPrefix="dnn" TagName="CURRENTDATE" Src="~/Admin/Skins/Currentdate.ascx" %>
<%@ Register TagPrefix="dnn" TagName="BREADCRUMB" Src="~/Admin/Skins/Breadcrumb.ascx" %>
<%@ Register TagPrefix="dnn" TagName="TREEVIEWMENU" Src="~/Admin/Skins/TreeViewMenu.ascx" %>
<%@ Register TagPrefix="dnn" TagName="LANGUAGE" Src="~/Admin/Skins/Language.ascx" %>
<%@ Register TagPrefix="dnn" TagName="HOSTNAME" Src="~/Admin/Skins/HostName.ascx" %>
<%@ Register TagPrefix="dnn" TagName="DOTNETNUKE" Src="~/Admin/Skins/DotNetNuke.ascx" %>


<table class="skinMainTbl">

<!-- Header row -->
<tr>

<td class="skinMainTbl_headerTd">

<!-- Header table -->
<table class="headerTbl">
<tr>

<td class="headerTbl_leftTd">&nbsp;</td>
...
</td>

</tr>
<!-- /Footer row -->

</table>


В начале это указания откуда брать код для работы с соответствующими серверными переменными. в самом же коде страницы там где нам надо мы расставляем серверные теги вида:
Код:

<dnn:BREADCRUMB runat="server" id="dnnBREADCRUMB" CssClass="breadCrumbInc" RootLevel="0" Separator="" />
<dnn:SOLPARTMENU runat="server" id="dnnSOLPARTMENU" />
и т.д.

полный список и заголовков и тегов есть в доках ДНН.
adonis Offline
#10 Оставлено : 16 июля 2008 г. 11:23:19(UTC)
adonis

Статус: Новичок

Зарегистрирован: 11.02.2008(UTC)
Сообщений: 6

Помогите решить проблему.
После пропарсивания html-странички и образования нового скина возникают проблемы с TREEVIEW (оно по идее должно быть вертикальным). Вместо меню появляется небольшое сообщение об ошибке:


Код:
An error has occurred.
DotNetNuke.Services.Exceptions.ModuleLoadException: Object reference not set to an instance of an object. ---> System.NullReferenceException: Object reference not set to an instance of an object. at DotNetNuke.UI.Skins.Controls.TreeViewMenu.BuildTree(DNNNode objNode, Boolean blnPODRequest) at DotNetNuke.UI.Skins.Controls.TreeViewMenu.Page_Load(Object sender, EventArgs e) --- End of inner exception stack trace ---



HTML-код исходного шаблона самый что ни на есть обычный:
Код:
...
<TABLE cellspacing="3" cellpadding="3" width="100%" border="1">
<TR>
<TD class="toppane" colspan="3" id="TopPane" runat="server" valign="top" align="center">toppane</TD>
</TR>
<TR valign="top">
<TD class="leftpane" id="LeftPane" runat="server" valign="top" align="center">[TREEVIEW]<BR></TD>
<TD class="contentpane" id="ContentPane" runat="server" valign="top" align="center">contentpane</TD>
<TD class="rightpane" id="RightPane" runat="server" valign="top" align="center">rightpane</TD>
</TR>
<TR>
<TD class="bottompane" colspan="3" id="BottomPane" runat="server" valign="top" align="center">bottompane</TD>
</TR>
</TABLE>
...


CSS стандартный, от дефолтного скина.
Хотя меня терзают смутные сомнения что дело совсем не в коде.
Заранее спасибо.
Exiton Offline
#11 Оставлено : 16 июля 2008 г. 15:03:23(UTC)
Exiton

Статус: Старожил

Зарегистрирован: 31.03.2007(UTC)
Сообщений: 828
Откуда: Hell

Сказал «Спасибо»: 1 раз
Поблагодарили: 1 раз в 1 постах
Действительно, выглядит всё правильно.

А "шкурка" с вертикальным меню из установочного дистрибутива работает корректно?

Отредактировано пользователем 16 июля 2008 г. 15:04:01(UTC)  | Причина: Не указана

bobps Offline
#12 Оставлено : 17 июля 2008 г. 5:05:45(UTC)
bobps

Статус: Продвинутый

Зарегистрирован: 10.07.2007(UTC)
Сообщений: 85

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 1 раз в 1 постах
adonis написал:

...меня терзают смутные сомнения что дело совсем не в коде.

Продемонстрируйте свой skin.xml здесь. Тогда и поговорим.
Вы парсите html или редактируете ascx?
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.



 
OpenedBorderBoxed Small width layoutMedium width layoutMaximum width layout Small textMedium textMaximum text