Objects

Материал из Insales Wiki
Перейти к: навигация, поиск

account

Настройки аккаунта. В переменной содержатся параметры из настроек аккаунта:

  • account.phone - телефон из настроек аккаунта,
  • account.icq - номер ICQ из настроек аккаунта,
  • account.title - название интернет-магазина из настроек аккаунта.
  • account.email - e-mail магазина
  • account.url - url магазина
  • account.reviews_enabled? - флаг указывающий включены отзывы на товар или нет
  • account.reviews_moderated? - флаг указывающий включена ли модерация отзывов на товары или нет
  • account.enable_comparison? - флаг указывающий доступно ли на текущем тарифе сравнение товаров

article

Статья в блоге

  • article.id - id статьи
  • article.title - заголовок статьи
  • article.preview - анонс статьи статьи
  • article.content - содержание статьи
  • article.comments - массив расположенных в хронологическом порядке комментариев
  • article.comments_count - количество комментариев к статье
  • article.author - автор статьи
  • article.created_at - время публикации статьи
  • article.url - URL страницы статьи

blog

Блог

  • blog.title - заголовок блога
  • blog.articles - массив статей блога
  • blog.articles_count - кол-во статей блога
  • blog.comments_enabled? - разрешены ли комментарии
  • blog.moderated? - модерируются ли комментарии

client

По клиенту нельзя выводить его персональную информацию, только факт того, что клиент залогинен

 
{% if client %}
    Информация для клиентов
{% endif %}

client_group

Группа к которой принадлежит залогиненый клиент

  • client_group.id - id группы
  • client_group.title - название группы
  • client_group.discount - скидка группы
  • client_group.discount_description - описание скидки группы

block_lists

Набор панелей блоков. Панели блоков настраиваются в разделе "Сайт" -> "Блоки". Для вывода отдельного блока смотрите переменную #blocks.

block_lists.menu_name.id - идентификатор панели блоков menu_name.

block_lists.menu_name.blocks - выбор блоков конкретной панели, например вывод блоков с названием news:

 
{% for block in block_lists.news.blocks %}
    <div class="infoBlock">
        <strong>{{block.title}}</strong><br/>
        {{block.content}}
    </div>
{% endfor %}

block.id - идентификатор блока.

block.title - заголовок блока.

block.content - содержание блока.

blocks

Список всех блоков. Блоки создаются в разделе "Сайт" -> "Блоки". Для вывода панели блоков смотрите переменную #block_lists.

blocks.name - выбор конкретного блока, например с рекламой (advertising):

 
    <div class="infoBlock">
        <strong>{{blocks.advertising.title}}</strong><br/>
        {{blocks.advertising.content}}
    </div>

block.id - идентификатор блока.

block.title - заголовок блока.

block.content - содержание блока.

cart

cart - содержимое корзины.

cart.items - массив товаров (товарных позиций) в корзине.

cart.items_count - число позиций в корзине.

cart.items_price - суммарная стоимость всех позиций в корзине.

cart.items_weight - суммарный вес всех позиций в корзине

cart.total_price - суммарная стоимость заказа с учетом доставки.

cart.enable_coupon? - флаг, обозначающий, включено использование купонов или нет, - если купоны запрещены тарифом - возвращает true.

cart.coupon - введенный код купона.

cart.invalid_coupon? - флаг, обозначающий, что введенн неверный купон, если купон не задан возвращает false.

cart.discounts - массив скидок.

discount

Скидка, распространяющаяся на заказ. Находится в массиве cart.discounts.

amount - численная величина скидки в денежном эквиваленте.

percent - процент скидки, если задана в процентах.

description - описание скидки

type - тип скидки (деньги или процент)

item

Товарная позиция (товар) в корзине. Находится в массиве cart.items

item.id - идентификатор позиции.

item.title - название позиции.

item.product - товар позиции.

item.variant - модификация товара позиции.

item.sale_price - цена одного товара позиции.

item.weight - вес одного товара позиции.

item.quantity - число товаров в позиции.

item.total_price - суммарная стоимость товаров позиции.

item.total_weight - суммарный вес товаров позиции.

item.url - URL для удаления товаров из корзины.

order

Используется в шаблоне письма клиенту и шаблоне печати заказа, доступными к редактированию из раздела "Заказы/Шаблоны". Так же используется в javascript-коде, который выводится на странице успешного оформления заказа (задаётся в разделе "Настройки магазина").

По сути это сохранённый заказ, имеющий те же методы, что и у объекта cart плюс несколько других, приведённых ниже:

order.id - идентификатор заказа (используется для ссылки на страницу заказа в бекофисе).

order.number - номер заказа.

order.key - ключ, по которому выводится заказ - используется в url, например:
/orders/{{order.key}}

order.creation_date - дата создания заказа.

order.currency - валюта заказа.

order.shipping_address - данные адреса доставки (объект):

 order.shipping_address.name - имя адресата.
 order.shipping_address.phone - телефон адресата.
 order.shipping_address.delivery_address - адрес доставки.
 order.shipping_address.country_name - страна.
 order.shipping_address.state - регион.
 order.shipping_address.city - город.
 order.shipping_address.address - адрес.
 order.shipping_address.zip - индекс.

order.delivery_description - описание способа доставки.

order.delivery_date - дата доставки.

order.delivery_time - интервал времени доставки, например, "с 10 до 18".

order.delivery_price - стоимость доставки.

order.comment - комментарий к заказу.

order.payment_title - название способа оплаты.

order.payment_description - описание способа оплаты.

order.client - данные клиента (объект):

 order.client.name - имя клиента.
 order.client.surname - фамилия клиента.
 order.client.middlename - отчество клиента.
 order.client.phone - телефон клиента.
 order.client.email - email клиента.

characteristic

Значения параметра - характеристика товара, задается в каталоге на сайте.

characteristic.url - URL для фильтрации товаров по данной характеристике в текущей коллекции.

characteristic.name - название характеристики.

characteristic.handle - пермалинк характеристики.

characteristic.current? - текущая характеристика?

characteristic.products_count - число товаров с данной характеристикой в текущей коллекции.

characteristic.property - параметр, которому принадлежит данная характеристика.

collection

Переменная collection, соответствует категории из каталога товаров.

collection.url - URL коллекции:

 <a href="{{ collection.url }}">{{ collection.title }}</a>

collection.description - описание категории.

collection.seo_description - seo-текст категории.

collection.title - название категории.

collection.image - изображение категории.

collection.products - товары категории.

  {% for product in collection.products %}
    {{product.title}}
  {% endfor %}

collection.products_count - количество товаров в данной категории.

collection.current_collections - массив родительских категорий, включая текущую.

collection.current? - является ли категория текущей?

collection.subcollections - подколлекции данной категории

collection.level - уровень вложенности категории (начинается с 1)

collection.parent - родительская категория


current_collections - список текущих категорий (полезно в случае многоуровневой структуры каталога), например для вывода хлебных крошек:

 {% for collection in current_collections %}
    <a href="{{ collection.url }}">{{ collection.title }}</a>
 {% endfor %}

collection.first? - первая ли категория среди подкатегорий родительской категории. Метод используется в выводе дерева категорий. ( Пример вывода дерева категорий).

collection.last? - последняя ли категория среди подкатегорий родительской категории. Метод используется в выводе дерева категорий. ( Пример вывода дерева категорий).

collection.show? - нужно ли показывать категорию при отображения дерева. Верно, если это категория верхнего уровня, текущая или родительская категория является текущей. Метод используется в выводе дерева категорий. ( Пример вывода дерева категорий).

collection.level_difference? - возвращает разницу уровней между текущей и предыдущей категорией, по сути число означает сколько закрывающих тегов надо вывести при отображении дерева. ( Пример вывода дерева категорий).


collection.previous_product и collection.next_product - ссылки на предыдущий и следующий товары. При помощи этих методов можно организовать в карточке товара переход к предыдущему и следующему (горизонтальная навигация).

collections.properties - параметры всех товаров категории.

collection.options - свойства всех товаров категории.

Параметры всех товаров категории

collection.properties - все параметры товаров категории.

Например, вывод всех параметров товаров категории вместе с их значениями:


{%for property in collection.properties %}
  {{property.name}}: {%for item in property.characteristics%}{{item.name}},{%endfor%}
{%endfor%}

Вывод значения для конкретного параметра (с пермалинком 'vendor') (считаем, что для данного параметра только одно значение) :

  {{collection.properties.vendor.name}}: {{collection.properties.vendor.characteristics.first.name}}

Свойства всех товаров категории

collection.options - все свойства товаров категории.

Например, вывод всех свойств товаров категории вместе с их значениями:

{%for option in collection.options %}
  {{ option.title }} : {% for value in option.values %}{{ value.title }}{% if forloop.last %}{% else %},{% endif %} {% endfor %}
{%endfor%}

collections

Все категории верхнего уровня из каталога на сайте

Примеры: Вывод всех категорий верхнего уровня:

  {% for collection in collections %}
    {{ collection.title }}
  {% endfor %}

Вывод дерева категорий:

{% for collection in collections.flatten %}
  {% if collection.first? %}<ul>{% endif %}
  {% if collection.show? %}
    <li {% if collection.current? %}class="active"{% endif %}
      <a href="{{ collection.url }}">{{ collection.title }}</a>
    </li>
  {% endif %}
  {% if collection.last? %} {% for i in (1..collection.level_difference) %}</ul>{% endfor %} {% endif %}
{% endfor %}

Вывод товаров конкретной категории:

  {% for product in collections.games.products %}
    {{ product.title }}
  {% endfor %}

Вместо "games" можно указать пермалинк любой категории.

comment

Комментарий к статье. Может быть как уже сохраненным, так и создаваемым.

  • comment.author - имя автора комментария.
  • comment.email - email автора комментария.
  • comment.content - текст комментария.
  • comment.errors - список имен неправильно заполненных полей.
  • comment.created_at - дата создания комментария.
  • comment.action_url - урл используемый для отправки post запроса на создание комментария.

image

Изображение товара или категории.

image.title - возвращает описание картинки.

Получение URL изображения

  • small_url (48x48)
  • thumb_url (100x100)
  • compact_url (160x160)
  • medium_url (240x240)
  • large_url (480x480)
  • original_url - оригинальное изображение

Масштабирование

Примечание: Значения в скобках определяют максимальный размер изображения. При масштабировании пропорции сохраняются, поэтому по одному из измерений размер может быть меньше указанного. Например, размер результирующего изображения может быть 480x300 или 200x480.

Пример

Данный пример выводит изображение товара размера thumbnail, при клике на которое оно будет показано в оригинальном разрешении.

  <a href="{{product.first_image.original_url}}">
     <img rel="shadowbox[images];options={counterType:'skip',continuous:true}" src="{{ product.first_image.thumb_url }}" />
  </a>

Использование изображений в textarea

Для формирования пути к изображениям вручную, надо добавить в начало название формата.

  • small/uploaded_image.jpg
  • thumb/uploaded_image.jpg
  • medium/uploaded_image.jpg
  • large/uploaded_image.jpg
  • original/uploaded_image.jpg

language

Переменная language - это текущий язык интернет-магазина, а также объект в списке языков

language.switch_url - URL переключения языка магазина на данный язык (используется в списке языков):

  {% for language in languages %}
    <a href="{{ language.switch_url }}"><img src="{{ language.icon_url }}" alt="{{ language.title }}" title="{{ language.title }}"></a>
  {% endfor %}

language.icon_url - иконка языка.

language.title - название языка.

language.locale - локаль языка.

language.not_default? - проверка на то, что текущий язык не является основным языком интернет-магазина. Это нужно знать, например, в форме поиска, так как нельзя передавать на сервер параметром локаль основного языка.

  {% if language.not_default? %} <input type="hidden" name="lang" value="{{ language.locale }}"> {% endif %}

languages

Список языков, которые присутствуют в системе и отмечены для отображения в интернет-магазине. Является массивом, содержащим объекты language.

Вывод ссылок на переключение текущего языка:

  {% if languages.size > 1 %}
    {% for language in languages %}
      <a href="{{ language.switch_url }}"><img src="{{ language.icon_url }}" alt="{{ language.title }}" title="{{ language.title }}"></a>
    {% endfor %}
  {% endif %}

languages.size - количество языков в списке.

linklists

Список всех меню, настраиваются в разделе "Сайт" -> "Меню и страницы".

linkslists.menu_name.links - выбор ссылок конкретного меню, например вывод меню с названием footer:

 
{% for link in linklists.footer.links %}
     {% if link.current? %}<li class="active">{% else %}<li>{% endif %}
        | <a href="{{ link.url }}">{{ link.title }}</a>
     </li>
{% endfor %}

link.current? - текущая ссылка?

link.url - URL ссылки из меню.

link.title - текст ссылки - название пункта меню.

option_name

Свойство - характеристика товара, задается в карточке товара. Хранятся в массиве collection.options и product.options

option_name.id - id свойства.

option_name.title - название свойства.

option_name.values - значения свойства.

option_value

Значение свойства товара, задается в каталоге на сайте. Хранятся в массиве option_name.values.

option_value.id - id значения свойства.

option_value.title - название значения свойства.

option_value.option_name - свойства товара, значением которого является данное значение.

option_value.selected - отмеченное значение в фильтре свойств?

page

Страница, настраивается в разделе "Витрины" -> "Страницы"

page.title - название страницы.

page.content - содержание страницы.

product

Товар из каталога на сайте

product.id - идентификатор товара (уникальный числовой номер).

product.handle - пермалинк товара (название товара в URL).

product.title - название товара.

Категории

product.collections - массив категорий, в которых находится товар.

Цены

product.price - цена товара (минимальная цена, если несколько модификаций).

product.price_min - минимальная цена товара (если несколько модификаций).

product.price_max - максимальная цена товара (если несколько модификаций).

product.price_kinds - типы цен

product.price_varies? - отличаются ли цены на модификации у товара (если несколько модификаций).

product.old_price - старая цена товара (цена до скидки).

product.old_price_min - минимальная старая цена товара (если несколько модификаций).

product.old_price_max - максимальная старая цена товара (если несколько модификаций).

product.old_price_varies? - отличаются ли старые цены на модификации у товара (если несколько модификаций).


Доступность

product.available - если ли товар в наличии.


Местоположение

product.collections - список категорий, в которых выставлен товар.

Описания

product.short_description - краткое описание товара.

product.description - описание товара.

product.show_variants? - есть ли модификации для отображения (true, если больше одной, либо если одна и она не является дефолтной базовой модификацией).

product.variants - модификации товара.

  {% for variant in product.variants %}   
      <option value="{{ variant.id }}">{{ variant.title | escape }}</option>
  {% endfor %}


Модификации

variant.id - id модификации.

variant.title - название модификации.

variant.sku - артикул модификации.

variant.available - есть ли в наличии.

variant.price - цена модификации.

variant.old_price - старая цена модификации.

variant.weight - вес модификации.

variant.option_values - массив значений свойств товара, характеризующих данную модификацию.

URL

product.url - URL товара в магазине.

product.canonical_url - канонический URL товара

Изображения товара

product.first_image - основное изображение товара.

product.images - массив изображений товара

Файл:Example.jpg


Сопутствующие товары

product.related_products - сопуствующие товары.

Пример их вывода на странице товара:

{% if product.related_products.size > 0 %}
    <table>
          {% tablerow product in product.related_products cols: 4 limit: 4 %}
                <a href="{{ product.url }}"><img src="{{ product.first_image.thumb_url }}" /></a>
                <a href="{{ product.url }}">{{ product.sale_price | money }}</a>
                <a href="{{ product.url }}">{{ product.title | escape }}</a><br />
                {{ product.short_description }}
        {% endtablerow %}
    </table>
{% endif %}


Аналогичные товары

product.similar_products - аналогичные товары.

Пример их вывода на странице товара:

{% if product.similar_products.size > 0 %}
    <table>
          {% tablerow product in product.similar_products cols: 4 limit: 4 %}
                <a href="{{ product.url }}"><img src="{{ product.first_image.thumb_url }}" /></a>
                <a href="{{ product.url }}">{{ product.sale_price | money }}</a>
                <a href="{{ product.url }}">{{ product.title | escape }}</a><br />
                {{ product.short_description }}
        {% endtablerow %}
    </table>
{% endif %}


Параметры товара

product.properties - параметры товара.

Например, вывод всех параметров товара вместе с их значениями:

{%for property in product.properties %}
  {{property.name}}: {%for item in property.characteristics%}{{item.name}},{%endfor%}
{%endfor%}

Вывод значения для конкретного параметра (с пермалинком 'vendor') (считаем, что для данного параметра только одно значение) :

  {{product.properties.vendor.name}}: {{product.properties.vendor.characteristics.first.name}}

Свойства товара

product.options - свойства товара.

Например, вывод всех свойств товара вместе с их значениями:

{%for option in product.options %}
  {{ option.title }} : {% for value in option.values %}{{ value.title }}{% if forloop.last %}{% else %},{% endif %} {% endfor %}
{%endfor%}

Отзывы на товар

product.reviews - массив отзывов на товар product.reviews_count - количество отзывов на товар

Рейтинг товара

product.rating - рейтинг товара, основанный на отзывах

to_json

product.to_json - JSON-объект товара. Используется в карточке товара для выбора модификаций по свойствам товара. Фрагмент примера использования:

new InSales.OptionSelectors('variant-select', { product: {{product | json}}, onVariantSelected: selectCallback, filterOptionValues: true  });

property

Параметр товара, задается в каталоге на сайте

property.name - название параметра.

property.handle - пермалинк параметра.


property.characteristics - массив значений данного параметра. Например, вывод всех характеристик с указанием числа товаров:

  {% for characteristic in property.characteristics %}
     <a href='{{characteristic.url}}'>{{characteristic.name}} ({{characteristic.products_count}})</a>
  {% endfor %}

review

Отзыв к товару. Может быть как уже сохраненным, так и создаваемым.

  • review.author - имя автора отзыва.
  • review.email - email автора отзыва.
  • review.rating - оценка товара, поставленная в отзыве.
  • review.content - текст отзыва.
  • review.errors - список имен неправильно заполненных полей.
  • review.created_at - дата создания отзыва.
  • review.action_url - урл используемый для отправки post запроса на создание отзыва.


search

Переменная search используется для вывода результатов поиска

search.query - запрос поиска.

search.performed? - запущен ли поиск?.

search.results - результаты поиска, массив товаров.

Например:

 {% for product in search.results %}
   {{product.title}}  
 {% endif %}

settings

Настройки шаблона