{* *}{strip} {ifDemo}

О демке Говорят, под Новый год ... имперские кодеры придумали какую-то волшебную хрень. И якобы эта библиотека кратких команд в разы сокращает натяжку html-шаблонов в движок. Мы решили устроить тест-драйв сей дерзкой штуки - может впрямь технологии так далеко шагнули вперёд?

Дано:   Короче, вечером 1 января ... между первой и второй, в перерывчик небольшой, - пока девочки на кухне тасуют по тарелкам порции прошлогоднего оливье, - мы заглянули в паблик Codrops, среди бесплатностей нашли там лендинг от Peter Finlan, и скачали на пробу.

Зачем:   Хотели мигом проверить, удастся ли втянуть в движок этот одностраничник минут за 15, пока всех не пригласили к уже второму за день новогоднему столу. Ведь удачный опыт означал бы, этот ShortCodes и в самом деле достоин внимания.

Итого:   И мы-таки справились за ... 17 едва пьяненьких минут. Офигеть! То есть даже для подуставшего разума эта библиотека оказалась лёгкой в применении - вы смотрите сейчас наш результат. Подбор демо картинок (вело тематика), подгон стилей под Рунет и тому подобное - отложили на 2 января, с чем потом благополучно справились уже по-трезвому.

Кстати   Наведи на жёлтый символ вопрос справа в углу данного блока, чтобы увидеть на этом месте вместо демо-текста реальный текст из админпанели. Или нажми вопрос, чтобы закрепить текст. По тому же принципу работают жёлтые переключатели развернуть. Щёлкни их, чтобы получить больше сведений по соответствующей теме.
Менеджеру   Наверху ты видишь баннер. Как заменить его слайды своими?
  • 1. Идём в админке дизайн » Картинки шаблона
  • 2. Переходим в папку synthetica-banner
  • 3. Удаляем ненужные слайды с помощью иконки  x  возле каждого слайда
  • 4. Жмём в правом верхнем углу ссылку загрузить и закачиваем свои слайды
Число слайдов для загрузки не ограничено. Любой слайд можно временно отключить иконкой лампочка.
Верстальщику   Выше в качестве блока "О демке" ты сейчас видишь контент, сгенерированный файлом {$smarty.template}, который располагается в папке модулей шаблона и соответственно был вызван командой {modDemoBody}. Если стереть эту команду или вообще удалить модуль, блок автоматически исчезнет (и не в демо режиме тоже исчезает - так устроен данный модуль).
Верстальщику   Наверху ты видишь баннер. Где и как мы его закодили?
  • 1. Смотри файл catalog.htm шаблона примерно на строке 71
  • 2. Использовали всего 3 short-команды той самой библиотеки ShortCodes:
    • getSlides - получить список слайдов папки
      • тут заметь, мы указали ту же папку, куда выше в инструкции менеджеру говорили загружать слайды баннера
    • enum - перечислить элементы списка
    • item - вывести элемент
И теперь покажем кусок разметки того файла.
{/strip}...
<div class="carousel js-flickity">
     {getSlides folder='synthetica-banner'}
     {enum}
          <div class="carousel-cell">
               <div class="hero-bg">
                    <img src="{item}">
                    ...
               </div>
          </div>
     {/enum}
</div>
...{strip}
С этой библиотекой кратких команд всё на самом деле получилось очень просто. Её поразительная концепция работы с областью видимости переменных ближайшей команды, удачное короткое именование команд, деление на однострочные и блочные, условные и приказывающие - всё это позволяет писать бизнес-логику на основе таких команд в краткой нотации, без указания параметров.
{* *}
{/ifDemo}