Форум пользователей Impera CMS
Impera CMS - отличный движок для лёгкого создания интернет магазина.
Обладает невероятным количеством функций, необходимых в онлайн торговле.

Следить
Главная
17:01
20 мар
#
?
написал:

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

Впечатления

Пять последних шаблонов (Feminine Lingerie & Underwear, Fruit Gifts, Bridal Store, Organic Cosmetics, Electronics Online Store) от ТемплейтМонстров собраны хорошо. Все с помощью библиотек Impera CMS Template Constructor (обозначу TC) и TemplateMonster Impera Finery (обозначу TM), причем кроме первого шаблона из обозначенной пятерки остальные собраны с заметной опорой на библиотеку ТемплейтМонстров. Из-за чего обратное изучение (реверс инжиниринг) шаблона становится неудобным. Основные tpl-ки и вспомогательные htm-ки шаблона плотно используют библиотеку TM, та использует библиотеку TC, оттуда по обратной связи вызовы снова направляются на другой необходимый tpl-htm шаблона, тот зигзагом опять обращается к библиотеке TM. Работает схема отлично, страничка как бы само собирается по фрагментам, но понять потом при обратном изучении логику этих вызовов библиотек в перехлест одна на другую бывает непросто.

Шаблон Feminine Lingerie & Underwear в этом смысле собран понятнее, потому что реже опирается на TM, а больше на библиотеку TC. В этом шаблоне вызовов зигзагами можно сказать почти нет, ветка само сборки странички получается как бы линейной, и разбирая шаблон с общего макета страницы index.tpl, сразу видно, какие tpl-htm-ки подключаются, где они лежат и быстро можно посмотреть, что там делается.


В помощь

Для изученных шаблонов характерны особенности:

  • файлы tpl - основные файлы шаблона (макеты каждой страницы)

  • файлы htm - вспомогательные файлы, те же tpl только с другим расширением файла (макеты небольших фрагментов страниц)


Характерные вспомогательные папки в папке html:

  • account - макеты фрагментов страницы личного кабинета

  • cards - макеты карточек (товар, товар специальный, товар featured, публикация)

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

  • cart - макеты фрагментов страницы корзины (к мини блоку корзины на главной отношения не имеют)

  • center - макеты разных фрагментов, которые от ситуации появляются в центральной части (всякие - сообщение ошибки, ошибка 404, успех, вступительный текст перед чем-либо, всякие блоки - хлебные крошки, сортировка товаров, листалка страниц, поделиться новостью)

  • footer - макеты фрагментов подвала сайта

  • forms - макеты основных форм (логин, регистрация, вспомнить пароль, обратная связь, позвоните мне)

  • header - макеты фрагментов шапки сайта

  • layout - макеты компоновки страницы, модуль универсальных функций (смотри ниже) и переменных

    • предлагает глобальные функции (составлено на основе шаблона FeminineLU):

      • compact_sum($sum, $rate) - вывести в компактном виде (то есть убрать копейки, если равны 0) сумму $sum по курсу $rate

      • url($item) - вывести url записи $item (запись - это сведения о товаре, категории, бренде, статье и т.п.)

      • image($item, $folder) - вывести url картинки для записи $item, размещенной в папке $folder относительно корня (например files/products/)

      • product_image($item) - вывести url картинки для записи товара $item (то же что функция выше, только $folder нет нужды указывать, он считается равным files/products/)

      • article_image($item) - вывести url картинки для записи статьи $item (то же что функция выше, только $folder считается равным files/images/articles/)

      • news_image($item) - вывести url картинки для записи новости $item (то же что функция выше, только $folder считается равным files/images/news/)

    • предлагает глобальные переменные (составлено на основе шаблона FeminineLU):

      • $module_name - имя текущего модуля в нижнем регистре (например login)

      • $is_on_404 - true когда произошла ошибка 404

      • $is_404_in_content - true когда ошибка 404 смоделирована искусственно какой-то tpl-кой шаблона

      • $is_on_unused - true когда открыли страницу, для которой отсутствует tpl-ка (например шаблон не рассчитан на такую функцию и ее tpl удалили)

      • $is_on_category - true когда открыли страницу категории или бренда (список товаров)

      • $is_on_product - true когда открыли страницу товара

      • $quick_content - true когда страницу грузит аякс динамически (без перезагрузки основной страницы)

      • $rate - рассчитанный курс для текущей валюты (равен rate_from / rate_to)

  • left - макеты фрагментов левой колонки сайта

  • order - макеты фрагментов страницы оформленного заказа

  • product - макеты фрагментов страницы товара

  • right - макеты фрагментов правой колонки сайта


Характерная схема само сборки страницы:

  • движок от ситуации вызывает нужный tpl из папки html шаблона

    • этот tpl вызывает модуль функций functions.htm из папки layout (если функции нужны)

    • затем вызывает нужные ему вспомогательные htm-ки (из папок center, cards, а страницы корзины, кабинета, товара, заказа еще из своих папок cart, account, product, order, и страницы обратной связи, логина, регистрации и вспомнить пароль еще из папки forms)

    • после tpl-ка отдает управление движку

  • теперь движок вызывает общий макет страницы index.tpl, а также передает ему результат предшествующего шага

    • этот макет вызывает модуль функций functions.htm из папки layout (если функции нужны)

    • затем вызывает модуль заголовков head.htm из библиотеки TC

    • затем вызывает модуль предразметочных необходимостей requirements.htm (всякие обязательные скрипты движка) из папки layout

    • затем вызывает фрагменты компоновки из папки layout (если такие были вынесены в отдельные макеты)

      • поочередно каждый макет компоновки вызывает свои макеты фрагментов

        • шапка сайта фрагменты из папки header

        • левая колонка фрагменты из папки left

        • центральная колонка (вставляет в себя результат рисовки предшествующего шага движка)

        • правая колонка фрагменты из папки right

        • подвал сайта фрагменты из папки footer

  • движок отдает получившуюся страницу в браузер клиента

Написание ответа

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


Обратите внимание! Для противодействия спаму новые посты форума проявляются с задержкой от нескольких минут, пока не пройдут модерацию.