Использование переменных из «Шпаргалки» редактора дизайна

Переменные и методы

На страницах редактора дизайна, который доступен в бекенде некоторых приложений (Shop-Script, «Сайт», «Блог», «Фото»), справа внизу есть ссылка «Шпаргалка». Эта ссылка позволяет открыть область подсказок со списком переменных и методов, которые можно использовать в шаблонах соответствующего приложения.

Переменные и методы нужны для того, чтобы удобно и быстро добавлять на страницы сайта разнообразные данные, размещать которые вручную было неудобно или даже невозможно. Например, переменная {$wa_url} добавляет в шаблон относительный URL вашей установки фреймворка Вебасист. Если фреймворк установлен и доступен по адресу вида http://yourdomain.ru/, то относительный URL установки имеет вид /. Если фреймворк установлен по адресу вида http://yourdomain.ru/folder/, то ее относительный URL — /folder/. Относительные URL используются, например, для добавления изображений на страницы сайта. Конечно, можно указывать относительный URL «по старинке», вручную: / либо /folder/, однако использование переменной в этом случае позволяет избежать необходимости учитывать директорию установки фреймворка и легче управлять дизайном сайта. HTML-код с переменной {$wa_url} может выглядеть примерно так:

<img src="{$wa_url}wa-data/public/site/images/logo.png">

Другой пример — метод {$wa->locale()}. Этот метод возвращает название языковой локали пользователя. Например, для русского языка это значение равно «ru_RU», а для английского — «en_US». Название локали можно использовать для формирования различного содержимого сайта с помощью условий следующего вида:

{if $wa->locale() == 'ru_RU'}
    ...содержимое страницы для пользователей, говорящих на русском языке...
{else}
    ...содержимое для всех остальных пользователей...
{/if}

Вкладки «Шпаргалки»

В каждом приложении, где есть редактор дизайна, в «Шпаргалке» отображаются несколько вкладок: вкладка с названием приложения (например, «Магазин» или «Фото»), а также вкладки «$wa» и «Smarty».

В приложении «Сайт» вкладки с названием этого приложения нет, т. к. в нем используются только системные переменные и методы, описанные на остальных вкладках — собственных переменных и методов для использования в шаблонах у этого приложения нет.

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

Вкладка «$wa» содержит информацию о системных переменных и методах фреймворка Webasyst. Например, здесь перечислены переменные для получения URL установки фреймворка и URL текущего поселения, методы для получения полного URL текущей страницы, содержимого строки User-Agent и другие переменные и методы, полезные для разработки и доработки темы дизайна.

На вкладке «Smarty» кратко описаны основные возможности шаблонизатора Smarty, доступные разработчику темы дизайна, например, правила получения значений переменных или задания новых значений, работа с массивами и объектами, использование условий и т. д. Более подробно с возможностями Smarty можно ознакомиться в официальной документации этого шаблонизатора.

2 комментария

  • +1
    ВЕтал ВЕтал 9 мая 2021 01:35 #

    Где ознакомиться с полным перечнем переменных и методов Smarty? есть предположение, что в шпаргалке лишь небольшая часть их.

    Я полгода рыскал по форуму с вопросом:  где найти переменную "Время доставки курьером" нашёл) а в шпаргалке ни чего подобного нет.

    Подскажите пожалуйста на примере, как и откуда сформировался такой код: 

    результат: 2021-05-30 17:20:00
    результат: 2021-05-30 17:20:00

    как я понял:

    1. переменная $order имеет отношение к таблице shop_order в БД (и видимо тут: shop-script/lib/actions/order/ она имеет "настройки")

    2. params имеет отношение к таблице shop_order_params в БД

    3. это ячейка shipping_end_datetime из таблицы shop_order_params


    исходя из этой логики я поигрался

    и получил результат

    5 и 6 пункт не выводится, хотя на форуме активно предлагают такую конструкцию для получения данных "комментарий покупателя из корзины"

    Помогите составить коды для получения данных "комментарий покупателя" и "комментарий в админке", и в двух словах объяснить как этот код формируется.

    комментарий покупателя

     

    комментарий в админке
    • +1

      5 и 6 пункт не выводится

      Эти переменные нужно использовать в шаблоне уведомления о действии с заказом. Причём п. 6 доступен только в шаблоне уведомления о действии «Добавить комментарий», которое выполняется администратором в панели управления магазина.

      В этой статье описывается шпаргалка редактора дизайна, а не шпаргалка редактора шаблонов уведомлений о заказах.

      Добавить комментарий

      Чтобы добавить комментарий, зарегистрируйтесь или войдите