Логотип

Документация по макросам и шаблонам UMI.CMS

emarket compare()

Название

%emarket compare()% — Выводит список добавленных к сравнению товаров и список сравниваемых характеристик.

Параметры: emarket compare([template= 'default', groups_names= ''])

template

Шаблон отображения.В XSLT-шаблонизаторе игнорируется.

groups_names

Список групп полей, используемых для сравнения.

Описание

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

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

Управление списком сравниваемых товаров

Управлять списком сравниваемых товаров можно при помощи трех следующих методов:

  • метод addToCompare — используется для добавления товара к сравнению. Необходимо в URL передать id добавляемого товара в качестве параметра. Например, следующий код выведет ссылку добавления товара с id=41 к сравнению:

    <a href="/emarket/addToCompare/41/">Добавить к сравнению</a>
  • метод removeFromCompare — используется для удаления товара из списка сравнения. Необходимо в URL передать id удаляемого из списка сравнения товара. Например, следующий код выведет ссылку добавления товара с id=41 к сравнению:

    <a href="/emarket/removeFromCompare/41/">Х</a>
  • метод resetCompareList — используется для очистки списка сравнения. Вызывается без параметров.

Эти методы не возвращают никаких данных и после совершения действия производят переадресацию обратно на страницу, откуда они были вызваны.

Если есть необходимость воспользоваться ими без переадресации (например, вызов при помощи JavaScript), необходимо добавить в конец URL вызова метода ".json".

$compare = $this->macros('emarket', 'compare');

Пример вызова

udata://emarket/compare/notemplate/(item_properties)

XML-ответ UData

<udata module="emarket" method="compare" generation-time="0.032812">
  <headers>
    <items>
      <item id="61" link="/shop/mobil_naya_svyaz/smartfony/ericssont_450/">Ericssont 450</item>
      <item id="41" link="/shop/televizory/cvetnye_televizory/sovet_tc2/">Sovet TC2</item>
    </items>
  </headers>
  <fields>
    <field title="Вес" name="weight" type="float">
      <values>
        <item id="61">
          <value id="9246" name="weight" type="float">
            <title>Вес</title>
            <value>0.21</value>
          </value>
        </item>
        <item id="41">
          <value id="9241" name="weight" type="float">
            <title>Вес</title>
            <value>9</value>
          </value>
        </item>
      </values>
    </field>
    <field title="Экран" name="ekran" type="relation" par="1">
     ...

    </field>
    <field title="Цвет" name="cvet" type="relation">

     ...

    </field>
    <field title="Операционная система" name="operacionnaya_sistema" type="relation" par="1">

     ...

    </field>
    <field title="Время работы от АКБ, час" name="vremya_dejstviya_ot_akb" type="int">

     ...

    </field>
  </fields>
</udata>

Элементы и атрибуты

<headers>

Ветвь, содержащая элемент items — список товаров.

<items>

Ветвь, содержащая элементы item — товары добавленные к сравнению.

<item>

Отдельный товар из списка добавленных к сравнению. Содержимое элемента — название товара.

@id

Идентификатор страницы товара.

@link

Ссылка на страницу товара.

<fields>

Список сравниваемых характеристик — полей и их значений для добавленных товаров.

<field>
@title

Заголовок поля.

@name

Название поля.

@type

Тип поля.

<item>

Ветвь, описывающая характеристику для отдельного товара.

@id

Идентификатор товара.

<value>
@id

Идентификатор поля.

@name

Название поля.

@type

Тип поля.

<value>

Значение поля.

Вывод списка товаров и характеристик осуществляется по шаблону, указанному в параметре template. Вы можете не указывать этот параметр, тогда для вывода будет использован шаблон по умолчанию — default.tpl.

Используемые шаблоны

Макрос оперирует шаблонами, находящимися в каталоге /tpls/emarket/compare/.

Используемые блоки шаблона

compare_block

Общий блок для вывода списка сравниваемых товаров и их характеристик.

%headers%

Указывает место, куда будет выведен список товаров.

%lines%

Указывает место, куда будет выведен список сравниваемых характеристик.

compare_block_empty

Блок, выводящийся, если не выбрано ни одного товара для сравнения.

compare_block_header

Блок, выводящий сравниваемые товары.

%items%

Указывает место, куда будет выведен список товаров.

compare_block_header_item

Блок, выводящий отдельный товар из сравниваемых.

%id%

Идентификатор товара.

%link%

Ссылка на страницу товара.

%title%

Название товара.

%price%

Стоимость товара.

compare_block_line

Блок выводящий одну из строк со списком характеристик.

%title%

Название поля (характеристики).

%name%

Идентификатор поля.

%type%

Тип поля.

%par%

Локальный макрос, позволяющий различать четные и нечетные строки. Возвращает "1" для четных и "0" для нечетных.

%values%

Блок выводящий каждое значение характеристики для каждого из сравниваемых товаров по заданному в блоке "compare_block_line_item" шаблону.

compare_block_line_item

Блок, оформляющий отдельную характеристику (значение поля) в строке списка. Для получения значения поля рекомендуется воспользоваться в этом блоке макросом %data getProperty()%, передав ему следующие параметры:

%id%

Идентификатор товара.

%name%

Название поля.