Создание и редактирование макетов
- Настройки сайта
- Управление разделами
- Редактирование
- Создание и редактирование макетов
- Настройки интернет-магазина
При создании макета пользователь указывает его название и ключевое слово. При наборе названия ключевое слово будет автоматически вбиваться транслитом из названия.
Поле "Ключевое слово"
Ключевое слово задается только однажды, при создании макета, и далее не может изменяться. Оно должно быть уникальным и состоять только из лат. букв, цифр, дефиса и знака подчеркивания. Ключевое слово - название каталога в каталоге /templates/. Все файлы макета: картинки, файл стилей, js загружаются в этот каталог.
Поле "Название макета"
Вы можете указать любое название макета. Просто указывайте его так, чтобы Вам было понятно. Это название будет отображаться в списке доступных дизайнов в настройках разделов и сайта.
Демо-макет
Если при создании макета Вы отметили галочку "Загрузить демо-макет", то будет создан не пустой макет, а с html-кодом, демонстрирующим использование различных конструкций и объектом макетов.
Поле "HTML-код макета"
Макет в Werba.SU - это просто html-страница со вставками макросов.
Наследование макетов
Теперь дизайны сайта можно делать еще гибче. Больше нет необходимости копировать похожие куски в верстке дизайна сайта – достаточно использовать наследование макетов. При наследовании в дочернем дизайне будут доступны все элементы навигации, CSS, а также каталог с файлами родительского дизайна. Т.о. для дизайнов разных разделов нет необходимости копировать CSS или какие-то элементы, т.е. все общие элементы Вы можете вынести в общий родительский дизайн.
Верстка дочернего дизайна будет выводится в место для основного контента в родительском дизайне.
Приведем пример:
Родительский дизайн
<html> <head>{HEADINCLUDES}</head> <body> <header>Шапка сайта</header> <h1>Родитель</h1> {CONTENT} <footer>Подвал</footer> </body> </html> Дочерний дизайн:
<h2>Дочерний дизайн</h2> <article>{CONTENT}</article> <aside>Сайдбар</aside> Равнозначный дизайн:
<html> <head>{HEADINCLUDES}</head> <body> <header>Шапка сайта</header> <h1>Родитель</h1> <h2>Дочерний дизайн</h2> <article>{CONTENT}</article> <aside>Сайдбар</aside> <footer>Подвал</footer> </body> </html>
HTML-код макета можно редактировать с подсветкой синтаксиса. Снизу под полем с html-кодом макета перечислены кнопки для вставки макросов макета: Меню, меню каталога, хлебные крошки и др. Справа от поля с html-кодом перечислены кнопки для вставки меню с пользовательскими шаблонами навигации.
Также доступны следующие конструкции:
{SUBMENU:ключевоеслово}
Вывод подразделов текущего раздела, если они есть и разрешены к показу в меню (указывается в настройках страницы). Для вывода используется шаблон элементов навигации с ключевым словом ключевоеслово. Пример: {SUBMENU:moyomenu}
{IFCATALOGMENU}текст{/IFCATALOGMENU}
Выводит текст, если в настройках раздела задан раздел Каталога.
{ IFSITEMAP}текст{/ IFSITEMAP}
Выводит текст, если на сайте есть страница Карта сайта, т.е. страница с типом данных Карта сайта.
{SITEMAP_LINK}
Выводит адрес страницы с картой сайта.
{IFFEEDBACK}текст{/IFFEEDBACK}
Выводит текст, если на сайте имеется страница с формой обратной связи.
{FEEDBACK_LINK}
Выводит адрес страницы с формой обратной связи. Если страниц несколько, то приоритетнее та, что показывается в меню и та, что создана раньше.
{ IFCONTACTS_EMAIL}текст{/ IFCONTACTS_EMAIL}
Выводит текст, если в настройках сайта внесен контакт e-mail администратора.
{CONTACTS_EMAIL}
Выводит e-mail администратора
{ IFCONTACTS_PHONE}текст{/ IFCONTACTS_PHONE}
Выводит текст, если в настройках сайта внесен контактный телефон.
{CONTACTS_PHONE}
Выводит телефон компании из настроек сайта.
{ IFCONTACTS_ADDRESS}текст{/ IFCONTACTS_ADDRESS}
Выводит текст, если в настройках сайта внесен адрес компании.
{CONTACTS_ADDRESS}
Выводит адрес компании, указанный в настройках сайта.
{IFESHOP_CART}текст{/IFESHOP_CART}
Выводит текст, если на сайте имеется страница с типом данных «Корзина интернет-магазина».
{ESHOP_CART_LINK}
Выводит адрес страницы с корзиной интернет-магазина
{IFESHOP_ITEMS}текст{/IFESHOP_ITEMS}
Выводит текст, если на сайте имеется раздел с типом данных «Товары в интернет-магазине» и в нем есть добавленные товары.
{ESHOP_NEWITEMS:n}
Выводит n последних добавленных товаров в интернет-магазине. Если параметр n опущен, то выводятся последние 4 товара. Пример использования: {ESHOP_NEWITEMS} или {ESHOP_NEWITEMS:12}
{ESHOP_INCART}
Выводит количество товаров в корзине и итоговую стоимость, обрамляя текст блоком <div class='eshop-incart-full' />. Если в корзине нет товаров, то выводится текст <div class='eshop-incart-empty'>корзина пуста</div>
{LIST:id}
Вывести первые три объекта со страницы с номером id (указан слева от названия страницы в структуре сайта).
{LIST:id:n}
Вывести первые n объектов со страницы с номером.
Поле "CSS"
В этом поле описываются все стили Вашего макета дизайна. Текст из поля CSS сохраняется в файл styles.css в каталоге макета. Подключение этого файла желательно делать с помощью конструкции {HEADINCLUDES}.Поле "Файлы"
Здесь Вы видите все файлы в каталоге Вашего макета. Здесь Вы можете загрузить картинки к макету, дополнительные js-файлы, flash-ролики и прочее.
Шаблоны навигации
Шаблоны навигации используются для вывода различных меню, хлебных крошек, постраничной навигации. Шаблон с ключевым словом pages используется для вывода постраничной навигации, когда количество объектов в разделе больше, чем выводится на страницу (например фотографии в галерее). Поэтому его наличие крайне желательно, хотя и не обязательно.
Как создавать шаблон навигации?
Допустим у Вас есть меню:
<ul id=”top-menu”>
<li><a href=”/”>Главная</a></li>
<li><a href=”/”>О компании</a></li>
<li><a href=”/”>Контакты</a></li>
<li><a href=”/”>Каталог продукции</a></li>
<li><a href=”/”>Обратная связь</a></li>
</ul>
При этом, если мы находимся в каком-то разделе (например, О компании), то этот раздел должен отображаться в меню так:
<li><strong>О компании</strong></li>
А если в каком-то подразделе раздела “О компании”, то так:
<li><a href=”/about/”><strong>О компании</strong></a></li>
Тогда создаем новый шаблон навигации:
Ключевое слово: topmenu (на Ваш выбор)
Префикс: <ul id=”top-menu”>
Суффикс: </ul>
Активный элемент: <li><a href=”%URL”><strong>%NAME</strong></a></li>
Активный элемент с точно совпадающим урлом: <li><strong>%NAME</strong></li>
Неактивный элемент: <li><a href=”%URL”>%NAME</a></li>
Разделитель пустое поле
в html-код в нужное место вставляем конструкцию {MENU:topmenu} либо нажимаем кнопку “topmenu” справа от поля html-Кода макета.
Для элементов меню доступны следующие условные обозначения:
%URL - адрес ссылки
%NAME - текст пункта меню
%img - картинка, загруженная в настройках раздела
%Description - текст в поле "Мета-тег Description"
{TEMPLATE_PATH} - путь к каталогу макета
Также здесь можно вставить конструкцию {SUBMENU} она выведет дерево подразделы текущего раздела тем же самым шаблоном. Если необходимо вывести подменю другим шаблоном навигации, то можно указать {SUBMENU:ключевоеслово}, где ключевоеслово - ключевое слово соответствующего шаблона навигации.
Для элементов вывода постраничной навигации доступны усл. обозначения:
%URL - адрес ссылки
%PAGE - номер страницы
%FROM -
%TO -
Объекты макета
{MENU:menutemplate} выводит меню сайта, используя шаблон навигации с ключевым словом menutemplate
{CATALOGMENU:menutemplate} аналогично предыдущему, только выводятся подразделы раздела каталога (выбирается в настройках сайта)
{CONTENT} - выводит основной контент страницы в зависимости от раздела (список новостей, полный текст новости, список товаров и т.д.)
{LATESTNEWS} - блок последних новостей на сайте. выводит последние три новости.
{HEADINCLUDES} - этот блок размещается между тегами <head></head> и выводит теги <meta http-equiv="Content-Type">, <title>, а также подключает таблицы стилей (styles.css из каталога макета и common.css). В common.css описаны общие стили, используемые для вывода пользовательских данных, при желании Вы можете переопределить их в styles.css, он подключается после common.css
{BREADCRUMBS:breadcrumbs} выводит хлебные крошки, используя шаблон навигации с ключевым словом breadcrumbs
{LOGO} выводит картинку, которую пользователь загрузил как логотип в настройках сайта. На внутренних страницах картинка обрамляется ссылкой на главную страницу.
{COUNTERS} выводит код из поля для счетчиков в настройках сайта. Сделано для удобства пользователя, чтобы он не лазил в html-код макета.
{TITLE} выводит название текущей страницы
{TEMPLATE_PATH} как и в шаблонах навигации выводит путь к каталогу макета.
{SITE_NAME} - выводит название сайта, указанное в настройках сайта.
{CONTACTS_ADDRESS}, {CONTACTS_EMAIL} и {CONTACTS_PHONE} выводят соответственно адрес компании, контактные e-mail и телефон, указанные в настройках сайта.
конструкция вида {IFINDEX}текс{/IFINDEX} выведет текст только на главной странице. Аналогично конструкция {IFNOTINDEX}текст{/IFNOTINDEX} выведет текст только на внутренних страницах сайта. Данные конструкции удобно использовать, если Вы предполагает использовать один макет на всех страницах: и на главной, и на внутренних, но необходимо по-разному отображать некоторые блоки.
Управление видом типов данных
Видом любого типа данных можно управлять через CSS. Пример CSS-кода для описания типов данных приведен ниже
/* Текстовая страница */ .werba-text { } .werba-text p { margin-bottom:1.5em; } .werba-text ul, .werba-text ol { padding-left:3em; } .werba-text ul li { list-style:circle inside; } .werba-text ol li { list-style:decimal inside; } .werba-text table { width: 100%; margin: 1em 0; } .werba-text td, .werba-text th { padding: 10px 5px; border: 1px solid #ccc; } /* Вывод ошибок при заполнении форм */ .common-error { } /* Форма обратной связи */ .werba-feedback { } /* строка формы */ .form-row { } /* строка формы с каптчей */ .form-row--captcha { } /* тег span, в котором содержится img с каптчей */ .captcha { } /* input для ввода кода с картинки */ #f_Captcha { } /* строка формы с текстом "Звездочкой * отмечены поля, обязательные для заполнения." */ .form-row--notice { } /* строка формы с кнопкой "отправить" */ .form-row--submit { } /* звездочка, обозначающая обязательное поле */ .required { } /* блок с названием поля */ .form-row-title { } /* блок с полем для ввода значения input или textarea */ .form-row-value { } .form-row-value input { } .form-row-value textarea { } /* галерея фото */ /* старый селектор #gallery-thumb-list */ .gallery { } /* элемент галереи */ .gallery-thumb { } /* ссылка на отдельную страницу фотографии, содержит превьюшку фотографии */ .gallery-full-link { } /* img - превью фотографии */ .gallery-preview { } /* ссылка на полную картинку */ .gallery-pic-link { } /* подпись под фотографией */ .gallery-text { } /* отдельная страница */ .gallery-full { } /* полная фотография на отдельной странице */ .gallery-full-image { } /* подпись к полной фотографии */ .gallery-full-text { } /* Новостная лента */ .werba-news { } /* дополнительный класс, добавляемый к .werba-news, когда выводится блок "Свежих новостей" через {LIST:} */ .news-shortlist { } /* дополнительный класс, добавляемый к .werba-news, когда показывается раздел новостей */ .newsfeed { } /* блок отдельной новости */ .newsblock { } /* блок с картинкой к новости */ .news-preview { } /* ссылка с картинкой к новости */ .news-preview-a { } /* картинка к новости */ .news-preview-img { } /* дата новости (тег span) */ .newsdate { } /* заголовок новости (тег a) */ .newstitle { } /* дата новости (тег p) */ .newsannounce { } /* Карта сайта (тег ul) */ .werba-map { } /* элемент карты сайта (тег li) */ .werba-map-li { } /* ссылка в элементе карты сайта (тег a) */ .werba-map-a { } /* Товары в интернет-магазине */ .eshopblocks { } /* блок, оборачивающий список новинок */ .eshop-newitems { } /* блок, оборачивающий список похожих товаров */ .eshop-similaritems { } /* Заголовок блока похожих товаров (тег h2) */ .eshop-similaritems-h2 { } /* блок с товаром */ .eshopblock { } /* Заголовок товара (тег a) */ .eshop-title { } /* Ссылка с превьюшкой товара */ .eshop-pic-link { } /* Картинка-превьюшка товара */ .eshop-pic { } /* Цена товара */ .eshop-price { } /* название валюты в цене товара */ .eshop-cur { } /* ссылка "В корзину". Если в настройках раздела указано, что это раздел с ссылкой "Заказать", то этот же класс применяется к кнопке "Заказать" */ .eshop-tocart-link { } /* Наличие товара */ .eshop-instock { } /* Обрертка количества товаров в наличии */ .eshop-outstock-cnt { } /* Краткое описание товара */ .eshop-shortdesc { } /* Страница товара */ .eshop-item { } /* блок, содержащий большую картинку товара */ .eshop-item-picbox { } /* большая картинка товара */ #eshop-item-pic { } /* строка с ценой товара */ #eshop-item-price { } /* текст "Цена" */ #eshop-item-price-title { } /* название валюты */ #eshop-item-price .eshop-cur { } /* ссылка "В корзину" на странице товара. Либо кнопка на страницу заказа */ #eship-item-tocart { } /* блок с текстом о наличии товара */ .eshop-item-instock { } /* блок с текстом, выводимым, когда товар отсутствует */ .eshop-item-outstock { } /* краткое описание товара на странице товара */ #eshop-item-shortdesc { } /* блок с превью товара */ #eshop-item-previews { } /* блок с текстом преимуществ */ #eshop-item-advantages { } /* блок с текстом подробного описания */ #eshop-item-desc { } /* Корзина интернет-магазина */ /* Текст "Корзина пуста" */ .eshop-cartmsg-isempty { } /* таблица со списком товаров в корзине */ .eshop-cart-items { } /* колонка с порядковым номером */ .eshop-cart-num { } /* колонка "Наименование" */ .eshop-cart-title { } /* колонка "Цена" */ .eshop-cart-price { } /* колонка "Количество" */ .eshop-cart-quantity { } /* колонка "Сумма" */ .eshop-cart-cost { } /* ячейка с текстом "Итого" */ .eshop-cart-total { } /* ячейка с итоговой суммой */ .eshop-cart-totalcost { } /* блок с кнопкой "Пересчитать корзину" */ .eshop-cart-update { } /* блок с формой заказа */ .eshop-order-form { } /* Элементы форма заказа аналогичны форме обратной связи */ /* Вопрос-ответ/Отзывы */ /* блок, содержащий ссылку "Добавить отзыв" */ .faq-add { } /* блок, содержащий список вопросов */ .werba-faq { } /* .faqfeed { } */ /* блок вопроса */ .faq-block { } /* дата вопроса */ .faq-date { } /* текст вопроса, заданного посетителем */ .faq-question { } /* имя задавшего вопрос */ .faq-asking { } /* текст ответа администратора */ .faq-answer { } /* имя ответившего */ .faq-answering { } /* блок, содержащий ссылку "читать далее" для перехода к отдельной странице отзыва */ .faq-readmore { } /* класс, добавляемый к .faq-block на отдельной странице отзыва */ .faq-fullpage { } /* Обратный счетчик */ .werba-counter { } /* Обратный счетчик */ .counterblock { } /* заголовок счетчика */ .counter-title { } /* текст с описанием */ .counter-text { } /* блок с оставшимся временем */ .counter-down { } .counter-timer { } /* блок с оставшимися днями */ .counter-timer--days { } /* блок с оставшимися часами */ .counter-timer--hours { } /* блок с оставшимися минутами */ .counter-timer--minutes { } /* блок с оставшимися секундами */ .counter-timer--seconds { } /* заголовок блока с оставшимися днями, часами, минутами, секундами */ .counter-timer-title { } /* количество оставшихся дней, часов, минут, секунд */ .counter-timer-value { }Цена10000 руб.
Не нашли ответ на свой вопрос?
Если выше приведенная информация Вам не помогла, Вы можете задать свой вопрос в службу поддержки.