Objects

Материал из Insales Wiki
Версия от 20:03, 22 июля 2010; As (обсуждение | вклад) (Получение URL изображения)

Перейти к: навигация, поиск

account

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

  • account.phone - телефон из настроек аккаунта,
  • account.icq - номер ICQ из настроек аккаунта,
  • account.title - название интернет-магазина из настроек аккаунта.

article

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

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

client

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

  • client.name - имя клиента,
  • client.email - email клиента.
  • client.phone - телефон клиента,

Можно выводить информацию только для зарегистрированных клиентов:

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

block_lists

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

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.title - заголовок блока.

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

blocks

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

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

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

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

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

cart

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

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 для удаления товаров из корзины.

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

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

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

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

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

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

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

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.title - название коллекции.

collection.image - изображение коллекции.

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

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

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

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

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

  {% 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)
  • thumb_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 - текст ссылки - название пункта меню.

page

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

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

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

product

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

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

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


Цены

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

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

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

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.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.quantity - количество на складе.

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

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


URL

product.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.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}}: {{ option.values | join:'' }}
{%endfor%}

property

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

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

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


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

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

search

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

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

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

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

Например:

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

settings

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