iwgt 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +27 -0
- package/dist/data/references/block-templates-full.json +2420 -0
- package/dist/data/references/category-block-templates.json +328 -0
- package/dist/data/references/category-settings.json +12530 -0
- package/dist/data/references/collections-menu-patterns.json +306 -0
- package/dist/data/references/commonjs-reference.json +1403 -0
- package/dist/data/references/icons-registry.json +724 -0
- package/dist/data/references/libraries-registry.json +632 -0
- package/dist/data/references/liquid-filters.json +497 -0
- package/dist/data/references/liquid-variables.json +3196 -0
- package/dist/data/references/messages-templates.json +3116 -0
- package/dist/data/references/my-layout-reference.json +95 -0
- package/dist/generators/index.d.ts +87 -0
- package/dist/generators/index.js +1052 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +5 -0
- package/dist/server-http.d.ts +7 -0
- package/dist/server-http.js +165 -0
- package/dist/server.d.ts +8 -0
- package/dist/server.js +579 -0
- package/dist/tools/index.d.ts +38 -0
- package/dist/tools/index.js +430 -0
- package/dist/types/index.d.ts +181 -0
- package/dist/types/index.js +3 -0
- package/dist/utils/index.d.ts +29 -0
- package/dist/utils/index.js +157 -0
- package/package.json +28 -0
|
@@ -0,0 +1,3196 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"source": "variables.html",
|
|
4
|
+
"description": "Liquid переменные InSales",
|
|
5
|
+
"totalCategories": 19,
|
|
6
|
+
"totalVariables": 436,
|
|
7
|
+
"generatedAt": "2025-10-07T06:52:16.882Z"
|
|
8
|
+
},
|
|
9
|
+
"categories": [
|
|
10
|
+
{
|
|
11
|
+
"id": "collection--productliquid",
|
|
12
|
+
"name": "Product",
|
|
13
|
+
"description": "Переменные доступные в шаблоне product.liquid, а так же в цикле продуктов коллекции. Смотреть видео об интеграции карточки товара.",
|
|
14
|
+
"variables": [
|
|
15
|
+
{
|
|
16
|
+
"id": "productavailable",
|
|
17
|
+
"name": "product.available",
|
|
18
|
+
"type": "boolean",
|
|
19
|
+
"description": "Если ли товар в наличии.",
|
|
20
|
+
"example": "{% if product.available %} Товар в наличии {% else %} Товара нет в наличии{% endif %}"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "productcollections",
|
|
24
|
+
"name": "product.collections",
|
|
25
|
+
"type": "array",
|
|
26
|
+
"description": "Список категорий, в которых выставлен товар.",
|
|
27
|
+
"example": "{% for collection in product.collections %} {{ collection.title }}{% endfor %}"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "productdescription",
|
|
31
|
+
"name": "product.description",
|
|
32
|
+
"type": "html",
|
|
33
|
+
"description": "Описание товара.",
|
|
34
|
+
"example": "На странице товара:{{ product.description }}\nВнутри массива товаров:{% for product in collection.products %} {{ product.description }}{% endfor %}"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "productfirst_image",
|
|
38
|
+
"name": "product.first_image",
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "Первое (основное) изображение товара. (small_url, thumb_url, compact_url, medium_url, large_url, original_url)",
|
|
41
|
+
"example": "Ссылка на первое изображение товара:{{ product.first_image.medium_url }}\nИмя первого изображения товара:{{ product.first_image.title }}\nИмя файла первого изображения товара:{{ product.first_image.file_name}}Возможные размеры:\n48x48 small_url\n100x100 thumb_url\n160x160 compact_url\n240x240 medium_url\n480x480 large_url\noriginal image original_url"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "producthandle",
|
|
45
|
+
"name": "product.handle",
|
|
46
|
+
"type": "string",
|
|
47
|
+
"description": "Пермалинк товара (название товара в URL)",
|
|
48
|
+
"example": "Ссылка на товар - demo.myinsales.ru/product/my_product{{ product.handle }}>> my_product"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "productid-2",
|
|
52
|
+
"name": "product.id",
|
|
53
|
+
"type": "number",
|
|
54
|
+
"description": "Идентификатор товара (уникальный числовой номер).",
|
|
55
|
+
"example": "{% if product.show_variants? %} {% for variant in product.variants %} {{ variant.title | escape }} {% endfor %} {% else %} {% endif %} - + Добавить в корзину"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "productimages",
|
|
59
|
+
"name": "product.images",
|
|
60
|
+
"type": "array",
|
|
61
|
+
"description": "Массив изображений товара Возможные размеры: 48x48 small_url 100x100 thumb_url 160x160 compact_url 240x240 medium_url 480x480 large_url original image original_url",
|
|
62
|
+
"example": "{% for image in product.images %} {% endfor %}"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "productmeta_description",
|
|
66
|
+
"name": "product.meta_description",
|
|
67
|
+
"type": "string",
|
|
68
|
+
"description": "meta description страницы товара",
|
|
69
|
+
"example": "На всём сайте следует пользваться следующим примером:"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "productmeta_keywords",
|
|
73
|
+
"name": "product.meta_keywords",
|
|
74
|
+
"type": "string",
|
|
75
|
+
"description": "meta keywords страницы товара",
|
|
76
|
+
"example": "{% if product.meta_keywords %} Meta keywords страницы товара: {{ product.meta_keywords }}{% endif %}"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "productold_price",
|
|
80
|
+
"name": "product.old_price",
|
|
81
|
+
"type": "number",
|
|
82
|
+
"description": "Старая цена товара (цена до скидки).",
|
|
83
|
+
"example": "{% if product.old_price %} Старая цена: {{ product.old_price | money }}{% endif %}"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "productold_price_max",
|
|
87
|
+
"name": "product.old_price_max",
|
|
88
|
+
"type": "number",
|
|
89
|
+
"description": "Максимальная старая цена товара (если несколько модификаций).",
|
|
90
|
+
"example": "{% if product.old_price_varies? %} {{ product.old_price_min }} - {{ product.old_price_max }} {% else %} {{ product.old_price }}{% endif %}"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"id": "productold_price_min",
|
|
94
|
+
"name": "product.old_price_min",
|
|
95
|
+
"type": "number",
|
|
96
|
+
"description": "Минимальная старая цена товара (если несколько модификаций).",
|
|
97
|
+
"example": "{% if product.old_price_varies? %} {{ product.old_price_min }} - {{ product.old_price_max }} {% else %} {{ product.old_price }}{% endif %}"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"id": "productold_price_varies",
|
|
101
|
+
"name": "product.old_price_varies?",
|
|
102
|
+
"type": "boolean",
|
|
103
|
+
"description": "Отличаются ли старые цены на модификации у товара (если несколько модификаций).",
|
|
104
|
+
"example": "{% if product.old_price_varies? %} {{ product.old_price_min }} - {{ product.old_price_max }} {% else %} {{ product.old_price }}{% endif %}"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"id": "productoptions",
|
|
108
|
+
"name": "product.options",
|
|
109
|
+
"type": "array",
|
|
110
|
+
"description": "Свойства товара. Например, вывод всех свойств товара вместе с их значениями",
|
|
111
|
+
"example": "{% for option in product.options %} {{ option.title }} : {% for value in option.values %}{{ value.title }}{% unless forloop.last %},{% endunless %}{% endfor %} {% endfor %}"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"id": "productprice",
|
|
115
|
+
"name": "product.price",
|
|
116
|
+
"type": "number",
|
|
117
|
+
"description": "Цена товара (минимальная цена, если несколько модификаций).",
|
|
118
|
+
"example": "{{ product.price | money }}"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"id": "productprice_max",
|
|
122
|
+
"name": "product.price_max",
|
|
123
|
+
"type": "number",
|
|
124
|
+
"description": "Максимальная цена товара (если несколько модификаций).",
|
|
125
|
+
"example": "{% if product.price_varies? %} от {{ product.price_min | money }} до {{ product.price_max | money }}{% endif %}"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"id": "productprice_min",
|
|
129
|
+
"name": "product.price_min",
|
|
130
|
+
"type": "number",
|
|
131
|
+
"description": "Минимальная цена товара (если несколько модификаций).",
|
|
132
|
+
"example": "{% if product.price_varies? %} от {{ product.price_min | money }} до {{ product.price_max | money }}{% endif %}"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"id": "productprice_varies",
|
|
136
|
+
"name": "product.price_varies?",
|
|
137
|
+
"type": "boolean",
|
|
138
|
+
"description": "Отличаются ли цены на модификации у товара (если несколько модификаций).",
|
|
139
|
+
"example": "{% if product.price_varies? %} от {{ product.price_min | money }} до {{ product.price_max | money }}{% endif %}"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"id": "productproperties",
|
|
143
|
+
"name": "product.properties",
|
|
144
|
+
"type": "object",
|
|
145
|
+
"description": "Параметры товара.",
|
|
146
|
+
"example": "{% for property in product.properties %} {{property.name}}: {% for item in property.characteristics %}{{item.name}},{% endfor %} {% endfor %}\nТак же можно обращаться к параметру напрямую, зная его пермалинк (handle):\n{{ product.properties.handle.characteristics.first.name }}"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "productrating",
|
|
150
|
+
"name": "product.rating",
|
|
151
|
+
"type": "number",
|
|
152
|
+
"description": "Рейтинг товара, основанный на отзывах.",
|
|
153
|
+
"example": "{% if product.rating %} Рейтинг товара: {{ product.rating }} {% endif %}"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"id": "productrelated_products",
|
|
157
|
+
"name": "product.related_products",
|
|
158
|
+
"type": "array",
|
|
159
|
+
"description": "Сопутствующие товары.",
|
|
160
|
+
"example": "{% if product.related_products.size > 0 %} Сопутствующие товары {% for product in product.related_products %} {{ product.price | money }} {{ product.title }} {% endfor %} {% endif %}"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"id": "productreviews",
|
|
164
|
+
"name": "product.reviews",
|
|
165
|
+
"type": "array",
|
|
166
|
+
"description": "Массив отзывов на товар",
|
|
167
|
+
"example": "{% if account.reviews_enabled? %} {% if product.reviews == empty %} Пока нет отзывов {% else %} {% for review in product.reviews %} {{ review.author }} {{ review.created_at | date: \"%d.%m.%Y %H:%M\" }} {{ review.content | newline_to_br }} {% if review.rating %} Оценка: {{ review.rating }} {% endif %} {% endfor %} {% endif %}{% endif %}"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"id": "productreviews_count",
|
|
171
|
+
"name": "product.reviews_count",
|
|
172
|
+
"type": "number",
|
|
173
|
+
"description": "Количество отзывов на товар.",
|
|
174
|
+
"example": "{% if product.reviews_count > 0 %} {% for review in product.reviews %} {{ review.author }} {{ review.created_at | date: \"%d.%m.%Y %H:%M\" }} {{ review.content | newline_to_br }} {% if review.rating %} Оценка: {{ review.rating }} {% endif %} {% endfor %} {% endif %}"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"id": "productshort_description",
|
|
178
|
+
"name": "product.short_description",
|
|
179
|
+
"type": "string",
|
|
180
|
+
"description": "Краткое описание товара.",
|
|
181
|
+
"example": "{% if product.short_description %} {{ product.short_description }} {% endif %}"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"id": "productshow_variants",
|
|
185
|
+
"name": "product.show_variants?",
|
|
186
|
+
"type": "boolean",
|
|
187
|
+
"description": "Есть ли модификации для отображения (true, если больше одной, либо если одна и она не является дефолтной базовой модификацией).",
|
|
188
|
+
"example": "{% if product.show_variants? %} {% for variant in product.variants %} {{ variant.title | escape }} {% endfor %} {% else %} {% endif %}"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"id": "productsimilar_products",
|
|
192
|
+
"name": "product.similar_products",
|
|
193
|
+
"type": "array",
|
|
194
|
+
"description": "Аналогичные товары.",
|
|
195
|
+
"example": "{% if product.similar_products.size > 0 %} Аналогичные товары {% for product in product.similar_products %} {{ product.price | money }} {{ product.title }} {% endfor %} {% endif %}"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"id": "producttitle-3",
|
|
199
|
+
"name": "product.title",
|
|
200
|
+
"type": "string",
|
|
201
|
+
"description": "Название товара.",
|
|
202
|
+
"example": "{{ product.title }} {% if product.description %} {{ product.description }} {% endif %}"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"id": "productto_json",
|
|
206
|
+
"name": "product | json",
|
|
207
|
+
"type": "object",
|
|
208
|
+
"description": "JSON-объект товара.",
|
|
209
|
+
"example": ""
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"id": "productunit",
|
|
213
|
+
"name": "product.unit",
|
|
214
|
+
"type": "string",
|
|
215
|
+
"description": "Единица измерения товара. Доступные значения: \"шт\", \"кг\", \"л; дм3\", \"м\", \"м2\", \"г\", \"т\"",
|
|
216
|
+
"example": "{{ product.unit }}>> шт"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"id": "producturl-2",
|
|
220
|
+
"name": "product.url",
|
|
221
|
+
"type": "string",
|
|
222
|
+
"description": "URL продукта",
|
|
223
|
+
"example": "{% for product in collection.products %} {{ product.title }}{% endfor %}"
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"id": "productvariants",
|
|
227
|
+
"name": "product.variants",
|
|
228
|
+
"type": "array",
|
|
229
|
+
"description": "Модификации товара.",
|
|
230
|
+
"example": "{% if product.show_variants? %} {% for variant in product.variants %} {{ variant.title | escape }} {% endfor %} {% else %} {% endif %}"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"id": "productfields-2",
|
|
234
|
+
"name": "product.fields",
|
|
235
|
+
"type": "object",
|
|
236
|
+
"description": "возвращает дополнительные поля товара в формате пермалинк:значение. Например, есть поле \"Название книги\", с пермалинком - \"book\" и со значением для конкретного товара \"Как увеличить продажи в интернете\"",
|
|
237
|
+
"example": "{{ product.fields.book.value }},{{ product.fields.book.title }}\n>> \"Как увеличить продажи в интернете\",\"Название книги\""
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"id": "productis_bundle",
|
|
241
|
+
"name": "product.is_bundle",
|
|
242
|
+
"type": "boolean",
|
|
243
|
+
"description": "Является ли товар комплектом?",
|
|
244
|
+
"example": "{% if product.is_bundle %} Состав комплекта: {% for bundle_component in product.bundle_components %} {{ bundle_component.product.title }} {% if bundle_component.is_free %} В подарок {% else %} {{ bundle_component.quantity }} × {{ bundle_component.product.sale_price | money }} {% endif %} {% endfor %} {% if product.bundle_discount > 0 %} Экономия: {{ product.bundle_discount | money }} {% endif %} {% endif %}"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"id": "productbundle_components",
|
|
248
|
+
"name": "product.bundle_components",
|
|
249
|
+
"type": "array",
|
|
250
|
+
"description": "Массив товаров входящих в комплект.",
|
|
251
|
+
"example": "{% if product.is_bundle %} Состав комплекта: {% for bundle_component in product.bundle_components %} {{ bundle_component.product.title }} {% if bundle_component.is_free %} В подарок {% else %} {{ bundle_component.quantity }} × {{ bundle_component.product.sale_price | money }} {% endif %} {% endfor %} {% if product.bundle_discount Экономия: {{ product.bundle_discount | money }} {% endif %} {% endif %}"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"id": "productbundle_discount",
|
|
255
|
+
"name": "product.bundle_discount",
|
|
256
|
+
"type": "number",
|
|
257
|
+
"description": "Разница между ценой за комплект и суммой всех товаров комплекта. Например если комплект стоит 500 р., а сумма всех товаров комплетка 1200 р., product.bundle_discount => 700 р.. Если комплект стоит 5000 р., а сумма всех товаров комплетка 2000 р., product.bundle_discount => -3000 р..",
|
|
258
|
+
"example": "{% if product.is_bundle %} {% if product.bundle_discount Экономия при покупке комплекта: {{ product.bundle_discount | money }} {% endif %} {% endif %}"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"id": "productcanonical_collection",
|
|
262
|
+
"name": "product.canonical_collection",
|
|
263
|
+
"type": "object",
|
|
264
|
+
"description": "Каноническая категория товара",
|
|
265
|
+
"example": "{{ product.canonical_collection.title }}"
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"id": "productbase_price",
|
|
269
|
+
"name": "product.base_price",
|
|
270
|
+
"type": "number",
|
|
271
|
+
"description": "Значение типа базовой(первой) типа цены. Актуально если используются дополнительные(priceN) типы цен в разделе Настройки - Типы цен",
|
|
272
|
+
"example": ""
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"id": "productrelated_articles",
|
|
276
|
+
"name": "product.related_articles",
|
|
277
|
+
"type": "array",
|
|
278
|
+
"description": "Список статей, к которым привязан товар",
|
|
279
|
+
"example": ""
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"id": "productvariantssize",
|
|
283
|
+
"name": "product.variants.size",
|
|
284
|
+
"type": "number",
|
|
285
|
+
"description": "Количество модификаций",
|
|
286
|
+
"example": "Кол-во модификаций: {{ product.variants.size }}"
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"id": "productupdated_at",
|
|
290
|
+
"name": "product.updated_at",
|
|
291
|
+
"type": "date",
|
|
292
|
+
"description": "Дата обновления товара",
|
|
293
|
+
"example": "{{ product.updated_at | date: '%d.%m.%y' }}"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"id": "productrelated_bundles",
|
|
297
|
+
"name": "product.related_bundles",
|
|
298
|
+
"type": "array",
|
|
299
|
+
"description": "Комплекты в которые входит данный товар",
|
|
300
|
+
"example": "Можно купить в комплекте:\n{% for related_bundle in product.related_bundles %} Комплект: {{ related_bundle.title }} Состав комплекта: {% for bundle_component in related_bundle.bundle_components %} {{ bundle_component.product.title }} {% endfor %} {% endfor %}"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"id": "on_reviews_page",
|
|
304
|
+
"name": "on_reviews_page",
|
|
305
|
+
"type": "boolean",
|
|
306
|
+
"description": "Это страница отзывов?",
|
|
307
|
+
"example": ""
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"id": "kommentariy-k-pozitsii-zakaza",
|
|
311
|
+
"name": "Комментарий к позиции заказа",
|
|
312
|
+
"type": "unknown",
|
|
313
|
+
"description": "",
|
|
314
|
+
"example": "{% if account.order_line_comments_enabled %}{% endif %}"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"id": "productvideo_links",
|
|
318
|
+
"name": "product.video_links",
|
|
319
|
+
"type": "array",
|
|
320
|
+
"description": "Массив ссылок на видео",
|
|
321
|
+
"example": "{% for video in product.video_links %}\n{{ video.url }}\n{% endfor %}"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"id": "variantid",
|
|
325
|
+
"name": "variant.id",
|
|
326
|
+
"type": "number",
|
|
327
|
+
"description": "Id модификации",
|
|
328
|
+
"example": "{% if product.show_variants? %} {% for variant in product.variants %} {{ variant.title | escape }} {% endfor %} {% else %} {% endif %}"
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"id": "variantavailable",
|
|
332
|
+
"name": "variant.available",
|
|
333
|
+
"type": "boolean",
|
|
334
|
+
"description": "Есть ли в наличии",
|
|
335
|
+
"example": "Модификации товара: {% for variant in product.variants %} Имя модификации: {{ variant.title }} {% if variant.available %} {% assign variant_available = 'в наличии' %} {% else %} {% assign variant_available = 'нет в наличии' %} {% endif %} Наличие: {{ variant_available }} {% endfor %}"
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"id": "variantweight",
|
|
339
|
+
"name": "variant.weight",
|
|
340
|
+
"type": "number",
|
|
341
|
+
"description": "Вес модификации",
|
|
342
|
+
"example": "Модификации товара: {% for variant in product.variants %} Имя модификации: {{ variant.title }} {% if variant.weight %} Вес модификации: {{ variant.weight }} {{ product.unit }} {% endif %} {% endfor %}"
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"id": "varianttitle",
|
|
346
|
+
"name": "variant.title",
|
|
347
|
+
"type": "string",
|
|
348
|
+
"description": "Название модификации",
|
|
349
|
+
"example": "Модификации товара: {% for variant in product.variants %} Имя модификации: {{ variant.title }} {% if variant.available %} {% assign variant_available = 'в наличии' %} {% else %} {% assign variant_available = 'нет в наличии' %} {% endif %} Наличие: {{ variant_available }} {% if variant.quantity %} {% assign variant_quantity = variant.quantity %} {% else %} {% assign variant_quantity = 'много' %} {% endif %} Остаток: {{ variant_quantity }} {% if variant.sku %} Артикул: {{ variant.sku }} {% endif %} {% if variant.barcode %} Штрих-код: {{ variant.barcode }} {% endif %} Цена модификации: {{ variant.price | money }} {% if variant.old_price %} Старая цена модификации: {{ variant.old_price | money }} {% endif %} {% if variant.weight %} Вес модификации: {{ variant.weight }} {{ product.unit }} {% endif %} {% endfor %}"
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"id": "variantprice",
|
|
353
|
+
"name": "variant.price",
|
|
354
|
+
"type": "number",
|
|
355
|
+
"description": "Цена модификации",
|
|
356
|
+
"example": "Модификации товара: {% for variant in product.variants %} Имя модификации: {{ variant.title }} Цена модификации: {{ variant.price | money }} {% endfor %}"
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"id": "variantcost_price",
|
|
360
|
+
"name": "variant.cost_price",
|
|
361
|
+
"type": "number",
|
|
362
|
+
"description": "Цена закупки",
|
|
363
|
+
"example": ""
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"id": "variantoption_values",
|
|
367
|
+
"name": "variant.option_values",
|
|
368
|
+
"type": "array",
|
|
369
|
+
"description": "Массив значений свойств товара, характеризующих данную модификацию.",
|
|
370
|
+
"example": "Модификации товара: {% for variant in product.variants %} Модификация: {{ variant.title }} Свойства модификации: {% for option_value in variant.option_values %} {{ option_value.option_name.title }}: {{ option_value.title }} {% endfor %} {% endfor %}"
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"id": "variantold_price",
|
|
374
|
+
"name": "variant.old_price",
|
|
375
|
+
"type": "number",
|
|
376
|
+
"description": "Старая цена модификации.",
|
|
377
|
+
"example": "Модификации товара: {% for variant in product.variants %} Имя модификации: {{ variant.title }} {% if variant.old_price %} Старая цена модификации: {{ variant.old_price | money }} {% endif %} {% endfor %}"
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"id": "variantbarcode",
|
|
381
|
+
"name": "variant.barcode",
|
|
382
|
+
"type": "string",
|
|
383
|
+
"description": "Штрих-код модификации",
|
|
384
|
+
"example": "Модификации товара: {% for variant in product.variants %} Имя модификации: {{ variant.title }} {% if variant.barcode %} Штрих-код: {{ variant.barcode }} {% endif %} {% endfor %}"
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"id": "variantquantity",
|
|
388
|
+
"name": "variant.quantity",
|
|
389
|
+
"type": "number",
|
|
390
|
+
"description": "Остатки модификации",
|
|
391
|
+
"example": "Модификации товара: {% for variant in product.variants %} Имя модификации: {{ variant.title }} {% if variant.quantity %} {% assign variant_quantity = variant.quantity %} {% else %} {% assign variant_quantity = 'много' %} {% endif %} Остаток: {{ variant_quantity }} {% endfor %}"
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
"id": "variantsku",
|
|
395
|
+
"name": "variant.sku",
|
|
396
|
+
"type": "string",
|
|
397
|
+
"description": "Артикул модификации",
|
|
398
|
+
"example": "Модификации товара: {% for variant in product.variants %} Имя модификации: {{ variant.title }} {% if variant.sku %} Артикул: {{ variant.sku }} {% endif %} {% endfor %}"
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"id": "pervoe-osnovnoe-izobrazhenie-varianta",
|
|
402
|
+
"name": "variant.first_image",
|
|
403
|
+
"type": "string",
|
|
404
|
+
"description": "Первое (основное) изображение варианта.",
|
|
405
|
+
"example": "Ссылка на первое изображение варианта:{{ variant.first_image.medium_url }}"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"id": "variantquantity_at_warehouses",
|
|
409
|
+
"name": "variant.quantity_at_warehouses",
|
|
410
|
+
"type": "unknown",
|
|
411
|
+
"description": "Остатки на складе",
|
|
412
|
+
"example": ""
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"id": "variantfields",
|
|
416
|
+
"name": "variant.fields",
|
|
417
|
+
"type": "object",
|
|
418
|
+
"description": "Возвращает дополнительные поля варианта в формате пермалинк:значение. Например, есть поле \"Название книги\", с пермалинком - \"book\" и со значением для конкретного варианта \"Как увеличить продажи в интернете\"",
|
|
419
|
+
"example": "{{ variant.fields.book.value }},{{ variant.fields.book.title }}\n>> \"Как увеличить продажи в интернете\",\"Название книги\""
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"id": "variantvariant_price_kinds",
|
|
423
|
+
"name": "variant.variant_price_kinds",
|
|
424
|
+
"type": "array",
|
|
425
|
+
"description": "Типы цен варианта продукта.",
|
|
426
|
+
"example": "{% for variant in product.variants %}\n{% for item in variant.variant_price_kinds %}\ntitle : {{ item.title }}\nprice_handle: {{ item.price_handle }}\nprice: {{ item.price }}\nprcie_rules :{{ item.price_rules }}\nshow: {{ item.show_in_lists }}\n{% endfor %}\n{% endfor %}"
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"id": "productdimensions",
|
|
430
|
+
"name": "variant.dimensions",
|
|
431
|
+
"type": "object",
|
|
432
|
+
"description": "Габариты варианта",
|
|
433
|
+
"example": "{{variant.dimensions.width}}x{{variant.dimensions.depth}}x{{variant.dimensions.height}}"
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"id": "varianthas_image",
|
|
437
|
+
"name": "variant.has_image",
|
|
438
|
+
"type": "boolean",
|
|
439
|
+
"description": "Привязано ли изображение к варианту?",
|
|
440
|
+
"example": ""
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
"id": "variantimage_ids",
|
|
444
|
+
"name": "variant.image_ids",
|
|
445
|
+
"type": "array",
|
|
446
|
+
"description": "Список id изображений варианта",
|
|
447
|
+
"example": ""
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"id": "propertyname",
|
|
451
|
+
"name": "property.name",
|
|
452
|
+
"type": "string",
|
|
453
|
+
"description": "Название параметра.",
|
|
454
|
+
"example": "{% for property in product.properties %} {{property.name}}: {% for item in property.characteristics %}{{item.name}},{% endfor%} {% endfor %}\nТак же можно обращаться к параметру напрямую, зная его пермалинк (handle):\n{{ product.properties.handle.characteristics.first.name }}"
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"id": "propertycharacteristics",
|
|
458
|
+
"name": "property.characteristics",
|
|
459
|
+
"type": "array",
|
|
460
|
+
"description": "Массив значений данного параметра. Например, вывод всех характеристик с указанием числа товаров.",
|
|
461
|
+
"example": "{% for property in product.properties %} {{ property.name }}: {% for characteristic in property.characteristics %}{{ characteristic.name }},{% endfor%}{% endfor %}Так же можно обращаться к параметру напрямую, зная его пермалинк (handle):{% if product.properties.handle.characteristics.size > 0 %} {% for characteristic in product.properties.handle.characteristics %} {{ characteristic.name }} {% endfor %}{% endif %}"
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"id": "propertyhandle",
|
|
465
|
+
"name": "property.handle",
|
|
466
|
+
"type": "string",
|
|
467
|
+
"description": "Пермалинк параметра. Пермалинк можно посмотреть в бэк-офисе Настройки -> Параметры товаров -> редактировать параметр",
|
|
468
|
+
"example": "Обращение к параметру зная его пермалинк (handle):{% if product.properties.handle.characteristics.size > 0 %} {% for characteristic in product.properties.handle.characteristics %} {{ characteristic.name }} {% endfor %}{% endif %}"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"id": "propertygt_value",
|
|
472
|
+
"name": "property.gt_value",
|
|
473
|
+
"type": "number",
|
|
474
|
+
"description": "Минимальное значение числового параметра",
|
|
475
|
+
"example": ""
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"id": "propertylt_value",
|
|
479
|
+
"name": "property.lt_value",
|
|
480
|
+
"type": "number",
|
|
481
|
+
"description": "Максимальное значение числового параметра",
|
|
482
|
+
"example": ""
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"id": "characteristicname",
|
|
486
|
+
"name": "characteristic.name",
|
|
487
|
+
"type": "string",
|
|
488
|
+
"description": "Название характеристики.",
|
|
489
|
+
"example": "{% for property in product.properties %} {{ property.name }}: {% for characteristic in property.characteristics %}{{ characteristic.name }},{% endfor %} {% endfor %}"
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
"id": "characteristichandle",
|
|
493
|
+
"name": "characteristic.handle",
|
|
494
|
+
"type": "string",
|
|
495
|
+
"description": "Прмалинк характеристики.",
|
|
496
|
+
"example": "Применение characteristic.handle на примере вывода стикеров через параметры. В нашем случае handle характеристики стикер — stiker.\nИз characteristic.handle мы формируем уникальные css классы, чтобы каждому стикеру сделать свой стиль.\n{% assign labels_list = '' %}{% if product.properties.stiker %} {% for characteristic in product.properties.stiker.characteristics %} {% assign labels_list = labels_list | append: '' | append: characteristic.title | append: '' %} {% endfor %}{% endif %}\n{{ labels_list }} {{ product.title }}"
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
"id": "characteristicproperty",
|
|
500
|
+
"name": "characteristic.property",
|
|
501
|
+
"type": "object",
|
|
502
|
+
"description": "Параметр, которому принадлежит данная характеристика.",
|
|
503
|
+
"example": "{% for property in product.properties %} {% for characteristic in property.characteristics %} {{ characteristic.property.name }} / {{ characteristic.property.handle }} / {{ characteristic.property.characteristics.size }} {% endfor %}{% endfor %}"
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"id": "characteristicurl",
|
|
507
|
+
"name": "characteristic.url",
|
|
508
|
+
"type": "string",
|
|
509
|
+
"description": "URL для фильтрации товаров по данной характеристике в текущей коллекции. (Доступно только в коллекции)",
|
|
510
|
+
"example": "{% for property in collection.properties %} {{ property.title }} {% for characteristic in property.characteristics %} {{ characteristic.title }} ({{characteristic.products_count}}) {% endfor %} {% endfor %}"
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
"id": "characteristicproducts_count",
|
|
514
|
+
"name": "characteristic.products_count",
|
|
515
|
+
"type": "number",
|
|
516
|
+
"description": "Число товаров с данной характеристикой в текущей коллекции. (Доступно только в коллекции)",
|
|
517
|
+
"example": "{% for property in collection.properties %} {{ property.title }} {% for characteristic in property.characteristics %} {{ characteristic.title }} ({{characteristic.products_count}}) {% endfor %} {% endfor %}"
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"id": "characteristiccurrent",
|
|
521
|
+
"name": "characteristic.current?",
|
|
522
|
+
"type": "boolean",
|
|
523
|
+
"description": "Текущая характеристика? (Доступно только в коллекции)",
|
|
524
|
+
"example": "{% for property in collection.properties %} {{ property.title }} {% for characteristic in property.characteristics %} {{ characteristic.title }} ({{characteristic.products_count}}) {% endfor %} {% endfor %}"
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
"id": "characteristicid",
|
|
528
|
+
"name": "characteristic.id",
|
|
529
|
+
"type": "number",
|
|
530
|
+
"description": "id значения параметра",
|
|
531
|
+
"example": ""
|
|
532
|
+
},
|
|
533
|
+
{
|
|
534
|
+
"id": "option_nameid",
|
|
535
|
+
"name": "option_name.id",
|
|
536
|
+
"type": "number",
|
|
537
|
+
"description": "Id свойства.",
|
|
538
|
+
"example": "{%for option_name in product.options %} Имя свойства: {{ option_name.title }} ID свойства: {{ option_name.id }} {%endfor%}"
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"id": "option_namevalues",
|
|
542
|
+
"name": "option_name.values",
|
|
543
|
+
"type": "array",
|
|
544
|
+
"description": "Значения свойства.",
|
|
545
|
+
"example": "{%for option_name in product.options %} {{ option_name.title }} : {% for option_value in option_name.values %}{{ option_value.title }}{% unless forloop.last %},{% endunless %} {% endfor %} {%endfor%}"
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"id": "option_nametitle",
|
|
549
|
+
"name": "option_name.title",
|
|
550
|
+
"type": "string",
|
|
551
|
+
"description": "Название свойства.",
|
|
552
|
+
"example": "{%for option_name in product.options %} Имя свойства: {{ option_name.title }} Кол-во значений свойства: {{ option_name.values.size }} {%endfor%}"
|
|
553
|
+
},
|
|
554
|
+
{
|
|
555
|
+
"id": "option_valueid",
|
|
556
|
+
"name": "option_value.id",
|
|
557
|
+
"type": "number",
|
|
558
|
+
"description": "Id значения свойства.",
|
|
559
|
+
"example": "{%for option_name in product.options %} {% for option_value in option_name.values %} {{ option_value.title }} / {{ option_value.id }} {% endfor %}{%endfor%}"
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
"id": "option_valuetitle",
|
|
563
|
+
"name": "option_value.title",
|
|
564
|
+
"type": "number",
|
|
565
|
+
"description": "Название значения свойства.",
|
|
566
|
+
"example": "{% for option_name in product.options %} {{ option_name.title }} {% for option_value in option_name.values %} {{ option_value.title }} {% endfor %} {% endfor %}"
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"id": "option_valueoption_name",
|
|
570
|
+
"name": "option_value.option_name",
|
|
571
|
+
"type": "object",
|
|
572
|
+
"description": "Свойства товара, значением которого является данное значение.",
|
|
573
|
+
"example": "{%for option_name in product.options %} {% for option_value in option_name.values %} {{ option_value.option_name.title }} / {{ option_value.option_name.id }} / {{ option_value.option_name.values.size }} {% endfor %}{%endfor%}"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"id": "option_valueselected",
|
|
577
|
+
"name": "option_value.selected",
|
|
578
|
+
"type": "boolean",
|
|
579
|
+
"description": "Отмеченное значение в фильтре свойств? (доступно только в коллекции)",
|
|
580
|
+
"example": "{% for option in collection.options %} {{ option.title }} {% for option_value in option.values %} {{ option_value.title }} {% endfor %} {% endfor %}"
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"id": "option_valueproducts_count",
|
|
584
|
+
"name": "option_value.products_count",
|
|
585
|
+
"type": "number",
|
|
586
|
+
"description": "Кол-во товара с данным значением свойства. (доступно только в коллекции)",
|
|
587
|
+
"example": "{% for option in collection.options %} {{ option.title }} {% for option_value in option.values %} {{ option_value.title }} ({{ option_value.products_count }}) {% endfor %} {% endfor %}"
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
"id": "option_valueoption_name_id",
|
|
591
|
+
"name": "option_value.option_name_id",
|
|
592
|
+
"type": "number",
|
|
593
|
+
"description": "id свойства для данного значения",
|
|
594
|
+
"example": ""
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
"id": "reviewauthor",
|
|
598
|
+
"name": "review.author",
|
|
599
|
+
"type": "string",
|
|
600
|
+
"description": "Имя автора отзыва",
|
|
601
|
+
"example": "{% if account.reviews_enabled? %} {% if product.reviews == empty %} Пока нет отзывов {% else %} {% for review in product.reviews %} {{ review.author }} {{ review.created_at | date: \"%d.%m.%Y %H:%M\" }} {{ review.content | newline_to_br }} {% if review.rating %} Оценка: {{ review.rating }} {% endif %} {% endfor %} {% endif %}{% endif %}"
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"id": "reviewaction_url",
|
|
605
|
+
"name": "review.action_url",
|
|
606
|
+
"type": "string",
|
|
607
|
+
"description": "урл используемый для отправки post запроса на создание отзыва.",
|
|
608
|
+
"example": "Оставить отзыв\n{% if form.posted_successfully? %}\n{% if account.reviews_moderated? %} Отзыв успешно отправлен.\nОн будет промодерирован владельцем магазина перед публикацией. {% else %} Отзыв добавлен. {% endif %}\n{% endif %}\n{% if review.errors.size > 0 %} Не все поля заполнены правильно! {% endif %}\nВсе поля обязательны к заполнению \nИмя \nE-mail (на сайте не публикуется) \nОтзыв \n{{ review.content }}\nнам интересно Ваше мнение о товаре \nОцените товар:\n{% for i in (1..5) %} {{ i }} {% endfor %} \n{% if review.captcha_enabled? %} Наберите текст, изображённый на картинке \n{{ review | captcha_challenge }} \n{% endif %}\n{% if account.reviews_moderated? %} Перед публикацией отзывы проходят модерацию {% endif %}"
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"id": "reviewcreated_at",
|
|
612
|
+
"name": "review.created_at",
|
|
613
|
+
"type": "date",
|
|
614
|
+
"description": "Дата создания отзыва.",
|
|
615
|
+
"example": "{% for review in product.reviews %}\n{{ review.created_at | date: \"%d.%m.%Y %H:%M\" }}\n{% endfor %}"
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
"id": "reviewemail",
|
|
619
|
+
"name": "review.email",
|
|
620
|
+
"type": "string",
|
|
621
|
+
"description": "Email автора отзыва. (Как правило не следует выводить email автора на сайт)",
|
|
622
|
+
"example": "{% for review in product.reviews %} {{ review.email }}{% endfor %}"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"id": "reviewerrors",
|
|
626
|
+
"name": "review.errors",
|
|
627
|
+
"type": "array",
|
|
628
|
+
"description": "Список имен неправильно заполненных полей.",
|
|
629
|
+
"example": "{{ review.errors }}>> captcha_solutionemail\n{% for error in review.errors %} {{ error }}{% endfor %}>> captcha_solution>> email"
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
"id": "reviewrating",
|
|
633
|
+
"name": "review.rating",
|
|
634
|
+
"type": "number",
|
|
635
|
+
"description": "Оценка товара, поставленная в отзыве.",
|
|
636
|
+
"example": "{% for review in product.reviews %} {% assign r = 5 %} {% for i in (1..5) %} {% assign r = r | minus: 1 %} {% endfor %}{% endfor %}"
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
"id": "reviewcontent",
|
|
640
|
+
"name": "review.content",
|
|
641
|
+
"type": "html",
|
|
642
|
+
"description": "Текст отзыва.",
|
|
643
|
+
"example": "{% ifaccount.reviews_enabled? %} {% if product.reviews == empty %} Пока нет отзывов {% else %} {% for review in product.reviews %} {{ review.author }} {{ review.created_at | date: \"%d.%m.%Y %H:%M\" }} {{ review.content | newline_to_br }} {% if review.rating %} Оценка: {{ review.rating }} {% endif %} {% endfor %} {% endif %}{% endif %}"
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"id": "reviewmanager_reply",
|
|
647
|
+
"name": "review.manager_reply",
|
|
648
|
+
"type": "string",
|
|
649
|
+
"description": "Ответ менеджера",
|
|
650
|
+
"example": "{% for review in product.reviews %} {{ review.author }} {{ review.created_at | date: \"%d.%m.%Y %H:%M\" }} {{ review.content }} {% if review.replied? %} {{ review.manager_reply }} {{ review.replied_at | date: \"%d.%m.%Y %H:%M\" }} {% endif %} {% endfor %}"
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
"id": "reviewreplied_at",
|
|
654
|
+
"name": "review.replied_at",
|
|
655
|
+
"type": "date",
|
|
656
|
+
"description": "Дата и время ответа",
|
|
657
|
+
"example": ""
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
"id": "reviewreplied",
|
|
661
|
+
"name": "review.replied?",
|
|
662
|
+
"type": "boolean",
|
|
663
|
+
"description": "Есть ответ менеджера к отзыву?",
|
|
664
|
+
"example": ""
|
|
665
|
+
},
|
|
666
|
+
{
|
|
667
|
+
"id": "reviewimage",
|
|
668
|
+
"name": "review.image",
|
|
669
|
+
"type": "string",
|
|
670
|
+
"description": "Картинка к отзыву. В настройках отзывов нужно включить чекбокс - Включить картинки в отзывах.",
|
|
671
|
+
"example": "{% for review in product.reviews %}{% endfor %}"
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"id": "bundle_componentproduct",
|
|
675
|
+
"name": "bundle_component.product",
|
|
676
|
+
"type": "object",
|
|
677
|
+
"description": "Ссылка на товар из списка товаров комплекта",
|
|
678
|
+
"example": "{% if product.is_bundle %} Состав комплекта: {% for bundle_component in product.bundle_components %} {{ bundle_component.product.title }} {% if bundle_component.is_free %} В подарок {% else %} {{ bundle_component.quantity }} × {{ bundle_component.product.sale_price | money }} {% endif %} {% endfor %} {% if product.bundle_discount Экономия: {{ product.bundle_discount | money }} {% endif %} {% endif %}"
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
"id": "bundle_componentvariant",
|
|
682
|
+
"name": "bundle_component.variant",
|
|
683
|
+
"type": "object",
|
|
684
|
+
"description": "Cодержит информацию о конкретном варианте товара, который привязан к комплекту",
|
|
685
|
+
"example": ""
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
"id": "bundle_componentquantity",
|
|
689
|
+
"name": "bundle_component.quantity",
|
|
690
|
+
"type": "number",
|
|
691
|
+
"description": "Колличество товарной позиции в комплекте",
|
|
692
|
+
"example": "{% if product.is_bundle %} Состав комплекта: {% for bundle_component in product.bundle_components %} {{ bundle_component.product.title }} {% if bundle_component.is_free %} В подарок {% else %} {{ bundle_component.quantity }} × {{ bundle_component.product.sale_price | money }} {% endif %} {% endfor %} {% if product.bundle_discount Экономия: {{ product.bundle_discount | money }} {% endif %} {% endif %}"
|
|
693
|
+
},
|
|
694
|
+
{
|
|
695
|
+
"id": "bundle_componentis_free",
|
|
696
|
+
"name": "bundle_component.is_free",
|
|
697
|
+
"type": "boolean",
|
|
698
|
+
"description": "Товарная позиция является бесплатной? (для активации бесплатной позиции нужно выставить чекбокс \"FREE\" в бекофисе)",
|
|
699
|
+
"example": "{% if product.is_bundle %} Состав комплекта: {% for bundle_component in product.bundle_components %} {{ bundle_component.product.title }} {% if bundle_component.is_free %} В подарок {% else %} {{ bundle_component.quantity }} × {{ bundle_component.product.sale_price | money }} {% endif %} {% endfor %} {% if product.bundle_discount Экономия: {{ product.bundle_discount | money }} {% endif %} {% endif %}"
|
|
700
|
+
}
|
|
701
|
+
]
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"id": "collection--block",
|
|
705
|
+
"name": "block",
|
|
706
|
+
"description": "Смотреть видео про создание шаблона блока",
|
|
707
|
+
"variables": [
|
|
708
|
+
{
|
|
709
|
+
"id": "block_lists",
|
|
710
|
+
"name": "block_lists",
|
|
711
|
+
"type": "array",
|
|
712
|
+
"description": "Массив панелей блоков. Обращение к конкретной панели можно сделать через идентификатор панели, например - {{ block_lists.footer.blocks }}",
|
|
713
|
+
"example": "{% for block_list in block_lists %} Id панели блоков: {{ block_list.id }} \n{% endfor %}\n{% for block_list in block_lists %} Id панели блоков: {{ block_list.id }} \n{% for block in block_list.blocks %} Имя блока: {{ block.title }} {% endfor %}{% endfor %}\nОбращение к панели блоков через идентификатор:{% for block in block_lists.handle.blocks %} Имя блока: {{ block.title }} Контент блока: {{ block.content }}{% endfor %}"
|
|
714
|
+
},
|
|
715
|
+
{
|
|
716
|
+
"id": "block_listshandleid",
|
|
717
|
+
"name": "block_lists.handle.id",
|
|
718
|
+
"type": "number",
|
|
719
|
+
"description": "Идентификатор панели блоков handle.",
|
|
720
|
+
"example": ""
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
"id": "block_listshandleblocks",
|
|
724
|
+
"name": "block_lists.handle.blocks",
|
|
725
|
+
"type": "array",
|
|
726
|
+
"description": "Выбор блоков конкретной панели",
|
|
727
|
+
"example": "{% for block in block_lists.handle.blocks %} {{ block.title }} {{ block.content }} {% endfor %}"
|
|
728
|
+
},
|
|
729
|
+
{
|
|
730
|
+
"id": "block_listswith_templatehandle_templatehandle_panelblocks",
|
|
731
|
+
"name": "block_lists.with_template['handle_template'].handle_block_lists.blocks",
|
|
732
|
+
"type": "object",
|
|
733
|
+
"description": "Доступ к панели блоков с привязанным шаблоном блоков",
|
|
734
|
+
"example": "{% for block in block_lists.with_template['handle_template'].handle_block_lists.blocks %} Имя блока: {{ block.title }} Контент блока: {{ block.content }}{% endfor %}"
|
|
735
|
+
},
|
|
736
|
+
{
|
|
737
|
+
"id": "block_listshandlename",
|
|
738
|
+
"name": "block_lists.handle.name",
|
|
739
|
+
"type": "string",
|
|
740
|
+
"description": "Имя панели блоков.",
|
|
741
|
+
"example": ""
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
"id": "block_listupdated_at",
|
|
745
|
+
"name": "block_list.updated_at",
|
|
746
|
+
"type": "unknown",
|
|
747
|
+
"description": "Дата обновления блок-листа. Необходимо для кеширования в liquid Пример можно увидеть в виджете - system_widget_v4_special_categories_1",
|
|
748
|
+
"example": ""
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
"id": "blockid",
|
|
752
|
+
"name": "block.id",
|
|
753
|
+
"type": "number",
|
|
754
|
+
"description": "Идентификатор блока (числовой).",
|
|
755
|
+
"example": ""
|
|
756
|
+
},
|
|
757
|
+
{
|
|
758
|
+
"id": "blockhandle",
|
|
759
|
+
"name": "block.handle",
|
|
760
|
+
"type": "string",
|
|
761
|
+
"description": "Идентификатор блока (не числовой).",
|
|
762
|
+
"example": ""
|
|
763
|
+
},
|
|
764
|
+
{
|
|
765
|
+
"id": "blocktitle",
|
|
766
|
+
"name": "block.title",
|
|
767
|
+
"type": "string",
|
|
768
|
+
"description": "Заголовок блока.",
|
|
769
|
+
"example": ""
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
"id": "blockcontent",
|
|
773
|
+
"name": "block.content",
|
|
774
|
+
"type": "html",
|
|
775
|
+
"description": "Содержание блока.",
|
|
776
|
+
"example": ""
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"id": "blocksname",
|
|
780
|
+
"name": "blocks.name",
|
|
781
|
+
"type": "object",
|
|
782
|
+
"description": "Выбор конкретного блока, например с рекламой (advertising).",
|
|
783
|
+
"example": "{{blocks.advertising.title}}{{blocks.advertising.content}}"
|
|
784
|
+
},
|
|
785
|
+
{
|
|
786
|
+
"id": "blockswith_templatehandle_templatehandle_block",
|
|
787
|
+
"name": "blocks.with_template['handle_template'].handle_block",
|
|
788
|
+
"type": "object",
|
|
789
|
+
"description": "Доступ к блоку который привязан к типу блока",
|
|
790
|
+
"example": "{% assign main_block = blocks.with_template['handle_template'].handle_block %}\nИмя блока: {{ main_block.title }}"
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"id": "blok-s-zagolovkom-i-html-kontentom",
|
|
794
|
+
"name": "Блок с заголовком и HTML-контентом",
|
|
795
|
+
"type": "unknown",
|
|
796
|
+
"description": "system-title-and-content",
|
|
797
|
+
"example": "{% for block inblock_lists.with_template['handle_template'].handle_block_lists.blocks %} Имя блока: {{ block.title }} Контент блока: {{ block.content }}{% endfor %}"
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"id": "banner",
|
|
801
|
+
"name": "Баннер (системное)",
|
|
802
|
+
"type": "unknown",
|
|
803
|
+
"description": "system-banner",
|
|
804
|
+
"example": ""
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
"id": "preimuschestva-sistemnoe",
|
|
808
|
+
"name": "Преимущества (системное)",
|
|
809
|
+
"type": "unknown",
|
|
810
|
+
"description": "system-benefit",
|
|
811
|
+
"example": ""
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"id": "kollektsiya-sistemnoe",
|
|
815
|
+
"name": "Коллекция (системное)",
|
|
816
|
+
"type": "unknown",
|
|
817
|
+
"description": "system-collection",
|
|
818
|
+
"example": ""
|
|
819
|
+
},
|
|
820
|
+
{
|
|
821
|
+
"id": "spisok-kollektsiy-sistemnoe",
|
|
822
|
+
"name": "Список коллекций (системное)",
|
|
823
|
+
"type": "unknown",
|
|
824
|
+
"description": "system-collection-list",
|
|
825
|
+
"example": ""
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
"id": "forma-zayavki-sistemnoe",
|
|
829
|
+
"name": "Форма заявки (системное)",
|
|
830
|
+
"type": "unknown",
|
|
831
|
+
"description": "system-widget-feedback",
|
|
832
|
+
"example": ""
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"id": "otzyvy-sistemnoe",
|
|
836
|
+
"name": "Отзывы (системное)",
|
|
837
|
+
"type": "unknown",
|
|
838
|
+
"description": "system-review",
|
|
839
|
+
"example": ""
|
|
840
|
+
},
|
|
841
|
+
{
|
|
842
|
+
"id": "sotsseti-sistemnoe",
|
|
843
|
+
"name": "Соцсети (системное)",
|
|
844
|
+
"type": "unknown",
|
|
845
|
+
"description": "system-social",
|
|
846
|
+
"example": ""
|
|
847
|
+
},
|
|
848
|
+
{
|
|
849
|
+
"id": "slayder-sistemnoe-2",
|
|
850
|
+
"name": "Слайдер (системное)",
|
|
851
|
+
"type": "unknown",
|
|
852
|
+
"description": "system-promo-slide",
|
|
853
|
+
"example": ""
|
|
854
|
+
}
|
|
855
|
+
]
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
"id": "collection--collectionliquid",
|
|
859
|
+
"name": "Collection",
|
|
860
|
+
"description": "Переменные доступные в шаблоне collection.liquid",
|
|
861
|
+
"variables": [
|
|
862
|
+
{
|
|
863
|
+
"id": "collectiontitle",
|
|
864
|
+
"name": "collection.title",
|
|
865
|
+
"type": "string",
|
|
866
|
+
"description": "Название категории.",
|
|
867
|
+
"example": "{{ collection.title }}"
|
|
868
|
+
},
|
|
869
|
+
{
|
|
870
|
+
"id": "collectionurl",
|
|
871
|
+
"name": "collection.url",
|
|
872
|
+
"type": "string",
|
|
873
|
+
"description": "URL коллекции",
|
|
874
|
+
"example": "{% for collection in collections.all.subcollections %} {{ collection.title }} {% endfor %}"
|
|
875
|
+
},
|
|
876
|
+
{
|
|
877
|
+
"id": "collectionid",
|
|
878
|
+
"name": "collection.id",
|
|
879
|
+
"type": "number",
|
|
880
|
+
"description": "Id коллекции",
|
|
881
|
+
"example": "{% if collection.id == 4223326 %} // ваш код{% endif %}"
|
|
882
|
+
},
|
|
883
|
+
{
|
|
884
|
+
"id": "collectioncurrent_collections",
|
|
885
|
+
"name": "collection.current_collections",
|
|
886
|
+
"type": "array",
|
|
887
|
+
"description": "Массив родительских категорий, включая текущую.",
|
|
888
|
+
"example": "{% assign collection_title = 'бренды' %}{% for current_collection in collection.current_collections %} {% assign inner_title = current_collection.title | downcase %} {% if inner_title contains collection_title %} Данная категория является подкатегорией категории «бренды» {% endif %}{% endfor %}"
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
"id": "collectioncurrent",
|
|
892
|
+
"name": "collection.current?",
|
|
893
|
+
"type": "boolean",
|
|
894
|
+
"description": "Является ли категория текущей?",
|
|
895
|
+
"example": "{% for collection in collections.all.subcollectons %} {{ collection.title }} {% endfor %}"
|
|
896
|
+
},
|
|
897
|
+
{
|
|
898
|
+
"id": "collectioncurrent_option_values",
|
|
899
|
+
"name": "collection.current_option_values",
|
|
900
|
+
"type": "array",
|
|
901
|
+
"description": "Свойства товаров выбранные в фильтре категории.",
|
|
902
|
+
"example": "{% for option in collection.current_option_values %} {{ option.title }}{% endfor %}"
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
"id": "collectiondescription",
|
|
906
|
+
"name": "collection.description",
|
|
907
|
+
"type": "html",
|
|
908
|
+
"description": "Описание категории.",
|
|
909
|
+
"example": "{% if collection.description %} {{ collection.description }} {% endif %}"
|
|
910
|
+
},
|
|
911
|
+
{
|
|
912
|
+
"id": "collectionfields",
|
|
913
|
+
"name": "collection.fields",
|
|
914
|
+
"type": "object",
|
|
915
|
+
"description": "Дополнительные поля категорий",
|
|
916
|
+
"example": "Вывести конкретное доп. поле:{% if collection.fields.banner.value %} {{ collection.fields.banner.title }} {{ collection.fields.banner.value }}{% endif %}\nВывести все доп. поля:{% for collection_field in collection.fields %} {{ collection_field.title }} {{ collection_field.value }} {% endfor %}"
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
"id": "collectionhandle",
|
|
920
|
+
"name": "collection.handle",
|
|
921
|
+
"type": "string",
|
|
922
|
+
"description": "Пермалинк коллекции",
|
|
923
|
+
"example": "Пермалинк категории: {{ collection.handle }}"
|
|
924
|
+
},
|
|
925
|
+
{
|
|
926
|
+
"id": "collectionimage",
|
|
927
|
+
"name": "collection.image",
|
|
928
|
+
"type": "object",
|
|
929
|
+
"description": "Изображение категории.",
|
|
930
|
+
"example": ""
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
"id": "collectionlevel",
|
|
934
|
+
"name": "collection.level",
|
|
935
|
+
"type": "number",
|
|
936
|
+
"description": "Уровень вложенности категории (начинается с 1).",
|
|
937
|
+
"example": "Категория находится на {{ collection.level }} уровне"
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
"id": "collectionmeta_description",
|
|
941
|
+
"name": "collection.meta_description",
|
|
942
|
+
"type": "string",
|
|
943
|
+
"description": "meta description страницы категории",
|
|
944
|
+
"example": "{% if collection.meta_description %} Meta description:{{ collection.meta_description }}{% endif %}"
|
|
945
|
+
},
|
|
946
|
+
{
|
|
947
|
+
"id": "collectionmeta_keywords",
|
|
948
|
+
"name": "collection.meta_keywords",
|
|
949
|
+
"type": "string",
|
|
950
|
+
"description": "meta keywords страницы категории",
|
|
951
|
+
"example": "{% if collection.meta_keywords %} Meta keywords страницы категории: {{ collection.meta_keywords }}{% endif %}"
|
|
952
|
+
},
|
|
953
|
+
{
|
|
954
|
+
"id": "collectionoptions",
|
|
955
|
+
"name": "collection.options",
|
|
956
|
+
"type": "array",
|
|
957
|
+
"description": "Свойства всех товаров категории.",
|
|
958
|
+
"example": "{% for option in collection.options %} {{ option.title }} {% if option.values.size > 0 %} {% for option_value in option.values %} {{ option_value.title }} {% endfor %} {% endif %} {% endfor %}"
|
|
959
|
+
},
|
|
960
|
+
{
|
|
961
|
+
"id": "collectionparent",
|
|
962
|
+
"name": "collection.parent",
|
|
963
|
+
"type": "object",
|
|
964
|
+
"description": "Родительская категория.",
|
|
965
|
+
"example": "{% if collection.parent %} Родительская категория: {{ collection.parent.title }} {% else %} Нет родительских категорий{% endif %}"
|
|
966
|
+
},
|
|
967
|
+
{
|
|
968
|
+
"id": "collectionnext_product",
|
|
969
|
+
"name": "collection.next_product",
|
|
970
|
+
"type": "object",
|
|
971
|
+
"description": "При помощи этого объекта можно организовать в карточке товара переход к следующему товару категории (горизонтальная навигация).",
|
|
972
|
+
"example": "{% if collection.products.size > 1 %} ⟨предыдущий товар следующий товар⟩ {% endif %}"
|
|
973
|
+
},
|
|
974
|
+
{
|
|
975
|
+
"id": "collectionprevious_product",
|
|
976
|
+
"name": "collection.previous_product",
|
|
977
|
+
"type": "object",
|
|
978
|
+
"description": "При помощи этого объекта можно организовать в карточке товара переход к предыдущему товару категории (горизонтальная навигация).",
|
|
979
|
+
"example": "{% if collection.products.size > 1 %} ⟨предыдущий товар следующий товар⟩ {% endif %}"
|
|
980
|
+
},
|
|
981
|
+
{
|
|
982
|
+
"id": "collectionproducts",
|
|
983
|
+
"name": "collection.products",
|
|
984
|
+
"type": "array",
|
|
985
|
+
"description": "Массив товаров категории.",
|
|
986
|
+
"example": "{% for product in collection.products %} {{ product.title }}{% endfor %}"
|
|
987
|
+
},
|
|
988
|
+
{
|
|
989
|
+
"id": "collectionproducts_count",
|
|
990
|
+
"name": "collection.products_count",
|
|
991
|
+
"type": "number",
|
|
992
|
+
"description": "Количество товаров в данной категории.",
|
|
993
|
+
"example": "{% if collection.products_count > 0 %} Товаров в категории: {{ collection.products_count }} {% else %} Простите, в данном разделе пока нет товаров. Мы работаем над этим.{% endif %}"
|
|
994
|
+
},
|
|
995
|
+
{
|
|
996
|
+
"id": "collectionscurrent_characteristics",
|
|
997
|
+
"name": "collection.current_characteristics",
|
|
998
|
+
"type": "array",
|
|
999
|
+
"description": "Текущие значения параметров всех товаров категории.",
|
|
1000
|
+
"example": "{% for characteristic in collection.current_characteristics %} {{ characteristic.title }}{% endfor %}"
|
|
1001
|
+
},
|
|
1002
|
+
{
|
|
1003
|
+
"id": "collectionseo_description",
|
|
1004
|
+
"name": "collection.seo_description",
|
|
1005
|
+
"type": "html",
|
|
1006
|
+
"description": "Дополнительное описание категории.",
|
|
1007
|
+
"example": "{% if collection.seo_description %} {{ collection.seo_description }} {% endif %}"
|
|
1008
|
+
},
|
|
1009
|
+
{
|
|
1010
|
+
"id": "collectionsproperties",
|
|
1011
|
+
"name": "collection.properties",
|
|
1012
|
+
"type": "array",
|
|
1013
|
+
"description": "Параметры всех товаров категории.",
|
|
1014
|
+
"example": "{% for property in collection.properties %} {{ property.name }} {% for characteristic in property.characteristics %} {{ characteristic.name }} {% endfor %}{% endfor %}\nТакже можно обратится к параметру по пермалинку (handle){% for characteristic in collection.properties.handle.characteristics %} {{ characteristic.name }} {% endfor %}"
|
|
1015
|
+
},
|
|
1016
|
+
{
|
|
1017
|
+
"id": "collectionsubcollections",
|
|
1018
|
+
"name": "collection.subcollections",
|
|
1019
|
+
"type": "array",
|
|
1020
|
+
"description": "Подколлекции данной категории.",
|
|
1021
|
+
"example": "{% for collection in collection.subcollections %} {{ collection.title }} {% endfor %}"
|
|
1022
|
+
},
|
|
1023
|
+
{
|
|
1024
|
+
"id": "current_collections",
|
|
1025
|
+
"name": "current_collections",
|
|
1026
|
+
"type": "array",
|
|
1027
|
+
"description": "Список текущих категорий (полезно в случае многоуровневой структуры каталога), например для вывода хлебных крошек.",
|
|
1028
|
+
"example": "{% for collection in current_collections %} {{ collection.title }} {% endfor %}"
|
|
1029
|
+
},
|
|
1030
|
+
{
|
|
1031
|
+
"id": "collections",
|
|
1032
|
+
"name": "collections",
|
|
1033
|
+
"type": "object",
|
|
1034
|
+
"description": "Все категории верхнего уровня из каталога на сайте. Каждый элемент массива является объектом с типом collection",
|
|
1035
|
+
"example": "Примеры: Вывод всех категорий верхнего уровня:{% for collection in collections %} {{ collection.title }}{% endfor %}"
|
|
1036
|
+
},
|
|
1037
|
+
{
|
|
1038
|
+
"id": "collectionshandle",
|
|
1039
|
+
"name": "collections[handle]",
|
|
1040
|
+
"type": "object",
|
|
1041
|
+
"description": "Обращение к объекту конкретной категории (handle — пермалинк категории)",
|
|
1042
|
+
"example": "{% assign collection_handle = 'all' %}\nСледующие вызовы вернут одинаковое значение:\ncollections[collection_handle].title\ncollections['all'].title\ncollections.all.title\nПример использования в цикле:\n{% for collection in collections.all.subcollections %} {{ collection.title }}{% endfor %}"
|
|
1043
|
+
},
|
|
1044
|
+
{
|
|
1045
|
+
"id": "collectionsflatten",
|
|
1046
|
+
"name": "collections.flatten",
|
|
1047
|
+
"type": "array",
|
|
1048
|
+
"description": "Вывод дерева категорий (полный список категорий магазина)",
|
|
1049
|
+
"example": "{% for collection in collections.flatten %} {% if collection.first? %}{% endif %} {% if collection.show? %} {{ collection.title }} {% endif %} {% if collection.last? %} {% for i in (1..collection.level_difference) %}{% endfor %} {% endif %}{% endfor %}"
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
"id": "collectionfirst",
|
|
1053
|
+
"name": "collection.first?",
|
|
1054
|
+
"type": "boolean",
|
|
1055
|
+
"description": "Первая ли категория среди подкатегорий родительской категории. Метод используется в выводе дерева категорий (collections.flatten).",
|
|
1056
|
+
"example": "{% for collection in collections.flatten %} {% if collection.first? %}{% endif %} {% if collection.show? %} {{ collection.title }} {% endif %} {% if collection.last? %} {% for i in (1..collection.level_difference) %}{% endfor %} {% endif %}{% endfor %}"
|
|
1057
|
+
},
|
|
1058
|
+
{
|
|
1059
|
+
"id": "collectionlast",
|
|
1060
|
+
"name": "collection.last?",
|
|
1061
|
+
"type": "boolean",
|
|
1062
|
+
"description": "Последняя ли категория среди подкатегорий родительской категории. Метод используется в выводе дерева категорий (collections.flatten).",
|
|
1063
|
+
"example": "{% for collection in collections.flatten %} {% if collection.first? %}{% endif %} {% if collection.show? %} {{ collection.title }} {% endif %} {% if collection.last? %} {% for i in (1..collection.level_difference) %}{% endfor %} {% endif %}{% endfor %}"
|
|
1064
|
+
},
|
|
1065
|
+
{
|
|
1066
|
+
"id": "collectionshow",
|
|
1067
|
+
"name": "collection.show?",
|
|
1068
|
+
"type": "boolean",
|
|
1069
|
+
"description": "Нужно ли показывать категорию при отображения дерева. Верно, если это категория верхнего уровня, текущая или родительская категория является текущей. Метод используется в выводе дерева категорий.",
|
|
1070
|
+
"example": "{% for collection in collections.flatten %} {% if collection.first? %}{% endif %} {% if collection.show? %} {{ collection.title }} {% endif %} {% if collection.last? %} {% for i in (1..collection.level_difference) %}{% endfor %} {% endif %}{% endfor %}"
|
|
1071
|
+
},
|
|
1072
|
+
{
|
|
1073
|
+
"id": "collectionlevel_difference",
|
|
1074
|
+
"name": "collection.level_difference?",
|
|
1075
|
+
"type": "number",
|
|
1076
|
+
"description": "Возвращает разницу уровней между текущей и предыдущей категорией, по сути число означает сколько закрывающих тегов надо вывести при отображении дерева.",
|
|
1077
|
+
"example": "Вывод дерева категорий (с использованием объекта collections.flatten - полный список категорий магазина, всех уровней вложенности):{% for collection in collections.flatten %} {% if collection.first? %}{% endif %} {% if collection.show? %} {{ collection.title }} {% endif %} {% if collection.last? %} {% for i in (1..collection.level_difference) %}{% endfor %} {% endif %}{% endfor %}"
|
|
1078
|
+
},
|
|
1079
|
+
{
|
|
1080
|
+
"id": "collectionfilters",
|
|
1081
|
+
"name": "collection.filters",
|
|
1082
|
+
"type": "array",
|
|
1083
|
+
"description": "Массив всех seo-фильтров категории.",
|
|
1084
|
+
"example": "{% for seo_filter in collection.filters %} {{ seo_filter.title }} {% endfor %}"
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
"id": "collectionshow_subcollections",
|
|
1088
|
+
"name": "collection.show_subcollections?",
|
|
1089
|
+
"type": "boolean",
|
|
1090
|
+
"description": "Вернет true если категория является текущей и в ней есть субколлекции",
|
|
1091
|
+
"example": ""
|
|
1092
|
+
},
|
|
1093
|
+
{
|
|
1094
|
+
"id": "collectionhas_subcollections",
|
|
1095
|
+
"name": "collection.subcollections.size > 0",
|
|
1096
|
+
"type": "boolean",
|
|
1097
|
+
"description": "Есть ли у категории подкатегории. Метод используется только в выводе дерева категорий через collections.flatten.",
|
|
1098
|
+
"example": "{% if collection.subcollections.size > 0 %}\n...\n{% endif %}"
|
|
1099
|
+
},
|
|
1100
|
+
{
|
|
1101
|
+
"id": "collectionsroot_category",
|
|
1102
|
+
"name": "collections.root_category",
|
|
1103
|
+
"type": "object",
|
|
1104
|
+
"description": "Корневая категория",
|
|
1105
|
+
"example": "{{ collections.root_category.handle }}"
|
|
1106
|
+
},
|
|
1107
|
+
{
|
|
1108
|
+
"id": "filterdescription",
|
|
1109
|
+
"name": "filter.description",
|
|
1110
|
+
"type": "html",
|
|
1111
|
+
"description": "Описание фильтра.",
|
|
1112
|
+
"example": "{% if filter %} {{ filter.description }} {% endif %}"
|
|
1113
|
+
},
|
|
1114
|
+
{
|
|
1115
|
+
"id": "filterhandle",
|
|
1116
|
+
"name": "filter.handle",
|
|
1117
|
+
"type": "string",
|
|
1118
|
+
"description": "Пермалинк фильтра.",
|
|
1119
|
+
"example": "{% if filter %} {{ filter.description }} {% endif %}"
|
|
1120
|
+
},
|
|
1121
|
+
{
|
|
1122
|
+
"id": "filterid",
|
|
1123
|
+
"name": "filter.id",
|
|
1124
|
+
"type": "number",
|
|
1125
|
+
"description": "id фильтра",
|
|
1126
|
+
"example": "{% if filter %} ID seo фильтра - {{ filter.id }} {% endif %}"
|
|
1127
|
+
},
|
|
1128
|
+
{
|
|
1129
|
+
"id": "filtermeta_description",
|
|
1130
|
+
"name": "filter.meta_description",
|
|
1131
|
+
"type": "string",
|
|
1132
|
+
"description": "Значение мета тега keywords фильтра.",
|
|
1133
|
+
"example": "{% if filter.meta_description %} Meta description seo фильтра: {{ filter.meta_description }}{% endif %}"
|
|
1134
|
+
},
|
|
1135
|
+
{
|
|
1136
|
+
"id": "filtermeta_keywords",
|
|
1137
|
+
"name": "filter.meta_keywords",
|
|
1138
|
+
"type": "string",
|
|
1139
|
+
"description": "Значение мета тега description фильтра.",
|
|
1140
|
+
"example": "{% if filter.meta_keywords %} Meta keywords seo фильтра: {{ filter.meta_keywords }}{% endif %}"
|
|
1141
|
+
},
|
|
1142
|
+
{
|
|
1143
|
+
"id": "filtertitle",
|
|
1144
|
+
"name": "filter.title",
|
|
1145
|
+
"type": "string",
|
|
1146
|
+
"description": "Название фильтра.",
|
|
1147
|
+
"example": "{% if filter %} {{ filter.title }} {% else %} {{ collection.title }}{% endif %}"
|
|
1148
|
+
},
|
|
1149
|
+
{
|
|
1150
|
+
"id": "filterseo_description",
|
|
1151
|
+
"name": "filter.seo_description",
|
|
1152
|
+
"type": "html",
|
|
1153
|
+
"description": "Доп. описание",
|
|
1154
|
+
"example": "{% if filter %} {{ filter.seo_description}} {% endif %}"
|
|
1155
|
+
},
|
|
1156
|
+
{
|
|
1157
|
+
"id": "filterfields",
|
|
1158
|
+
"name": "filter.fields",
|
|
1159
|
+
"type": "array",
|
|
1160
|
+
"description": "Дополнительные поля фильтра",
|
|
1161
|
+
"example": "{% for field in filter.fields %} {{ field.title }}\n{{ field.handle }}\n{{ field.value }}{% endfor %}"
|
|
1162
|
+
}
|
|
1163
|
+
]
|
|
1164
|
+
},
|
|
1165
|
+
{
|
|
1166
|
+
"id": "collection--cartliquid",
|
|
1167
|
+
"name": "Cart",
|
|
1168
|
+
"description": "Объект cart доступен во всех шаблонах темы. Смотртеть видео о работе с корзиной интернет магазина.",
|
|
1169
|
+
"variables": [
|
|
1170
|
+
{
|
|
1171
|
+
"id": "cartcoupon",
|
|
1172
|
+
"name": "cart.coupon",
|
|
1173
|
+
"type": "string",
|
|
1174
|
+
"description": "Введенный код купона.",
|
|
1175
|
+
"example": "{% if cart.enable_coupon? %} Применить купон {% if cart.invalid_coupon? %} {{ cart.coupon_error }} {% endif %} {% if cart.discounts.size > 0 %} {% for discount in cart.discounts %} {{ discount.description }} - {{ discount.amount | money }} {% endfor %} {% endif %} {% endif %}"
|
|
1176
|
+
},
|
|
1177
|
+
{
|
|
1178
|
+
"id": "cartcoupon_error",
|
|
1179
|
+
"name": "cart.coupon_error",
|
|
1180
|
+
"type": "string",
|
|
1181
|
+
"description": "Сообщение ошибки ввода купона.",
|
|
1182
|
+
"example": "{% if cart.enable_coupon? %} Применить купон {% if cart.invalid_coupon? %} {{ cart.coupon_error }} {% endif %} {% if cart.discounts.size > 0 %} {% for discount in cart.discounts %} {{ discount.description }} - {{ discount.amount | money }} {% endfor %} {% endif %} {% endif %}"
|
|
1183
|
+
},
|
|
1184
|
+
{
|
|
1185
|
+
"id": "cartdiscounts",
|
|
1186
|
+
"name": "cart.discounts",
|
|
1187
|
+
"type": "array",
|
|
1188
|
+
"description": "Массив скидок.",
|
|
1189
|
+
"example": "{% if cart.discounts.size > 0 %} {% for discount in cart.discounts %} {{ discount.description }} - {{ discount.amount | money }} {% endfor %}{% endif %}"
|
|
1190
|
+
},
|
|
1191
|
+
{
|
|
1192
|
+
"id": "cartenable_coupon",
|
|
1193
|
+
"name": "cart.enable_coupon?",
|
|
1194
|
+
"type": "boolean",
|
|
1195
|
+
"description": "Флаг, обозначающий, включено использование купонов или нет, - если купоны запрещены тарифом - возвращает true.",
|
|
1196
|
+
"example": "{% if cart.enable_coupon? %} Применить купон {% if cart.invalid_coupon? %} {{ cart.coupon_error }} {% endif %} {% if cart.discounts.size > 0 %} {% for discount in cart.discounts %} {{ discount.description }} - {{ discount.amount | money }} {% endfor %} {% endif %} {% endif %}"
|
|
1197
|
+
},
|
|
1198
|
+
{
|
|
1199
|
+
"id": "cartinvalid_coupon",
|
|
1200
|
+
"name": "cart.invalid_coupon?",
|
|
1201
|
+
"type": "boolean",
|
|
1202
|
+
"description": "Флаг, обозначающий, что введенн неверный купон, если купон не задан возвращает false.",
|
|
1203
|
+
"example": "{% if cart.enable_coupon? %} Применить купон {% if cart.invalid_coupon? %} {{ cart.coupon_error }} {% endif %} {% if cart.discounts.size > 0 %} {% for discount in cart.discounts %} {{ discount.description }} - {{ discount.amount | money }} {% endfor %} {% endif %} {% endif %}"
|
|
1204
|
+
},
|
|
1205
|
+
{
|
|
1206
|
+
"id": "cartitems",
|
|
1207
|
+
"name": "cart.items",
|
|
1208
|
+
"type": "array",
|
|
1209
|
+
"description": "Массив товаров (товарных позиций) в корзине.",
|
|
1210
|
+
"example": "{% for item in cart.items %} {{ item.title }} {{ item.quantity | money }} × {{ item.sale_price }} = {{ item.total_price | money }} {% endfor %}"
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
"id": "cartitems_count",
|
|
1214
|
+
"name": "cart.items_count",
|
|
1215
|
+
"type": "number",
|
|
1216
|
+
"description": "Число позиций в корзине.",
|
|
1217
|
+
"example": "Товаров в корзине: {{ cart.items_count }}"
|
|
1218
|
+
},
|
|
1219
|
+
{
|
|
1220
|
+
"id": "cartitems_price",
|
|
1221
|
+
"name": "cart.items_price",
|
|
1222
|
+
"type": "number",
|
|
1223
|
+
"description": "Сумма с учетом скидки без учета доставки",
|
|
1224
|
+
"example": "Итого: {{ cart.items_price | money }}"
|
|
1225
|
+
},
|
|
1226
|
+
{
|
|
1227
|
+
"id": "cartitems_weight",
|
|
1228
|
+
"name": "cart.items_weight",
|
|
1229
|
+
"type": "number",
|
|
1230
|
+
"description": "Суммарный вес всех позиций в корзине.",
|
|
1231
|
+
"example": "{% if cart.items_weight %} Сумарный вес товаров в корзине: {{ cart.items_weight }}{% endif %}"
|
|
1232
|
+
},
|
|
1233
|
+
{
|
|
1234
|
+
"id": "carttotal_price",
|
|
1235
|
+
"name": "cart.total_price",
|
|
1236
|
+
"type": "number",
|
|
1237
|
+
"description": "Сумма с учетом скидки и с учетом доставки",
|
|
1238
|
+
"example": "Суммарная стоимость заказа с учетом доставки: {{ cart.total_price | money }}"
|
|
1239
|
+
},
|
|
1240
|
+
{
|
|
1241
|
+
"id": "itemcomment",
|
|
1242
|
+
"name": "item.comment",
|
|
1243
|
+
"type": "string",
|
|
1244
|
+
"description": "Комментарий к позиции заказа.",
|
|
1245
|
+
"example": "{% for item in cart.items %} {{ item.product.title }} {{ item.comment }} {% endfor %} \n{% if product.show_variants? %} {% for variant in product.variants %} {{ variant.title | escape }} {% endfor %} {% else %} {% endif %} - + Добавить в корзину"
|
|
1246
|
+
},
|
|
1247
|
+
{
|
|
1248
|
+
"id": "itemid-2",
|
|
1249
|
+
"name": "item.id",
|
|
1250
|
+
"type": "number",
|
|
1251
|
+
"description": "Идентификатор позиции.",
|
|
1252
|
+
"example": "{% for item in cart.items %} {{ item.product.title }} {% if item.weight %} Вес товара: {{ item.weight }} {{ item.unit }} Суммарный вес товаров позиции: {{ item.total_weight }} {{ item.unit }} {% endif %} Изменить количество товаров позиции: Удалить {% endfor %} \n$(document).ready(function() { $('.js-item-remove').click(function(event) { event.preventDefault(); var itemUrl = $(this).attr('href'); var removeUrl = itemUrl + '.json'; var _targetId = $(this).data('item-target'); var $itemBlock = $('[data-item-block=\"'+ _targetId +'\"]') $.ajax({ url: itemUrl, type: 'POST', data: { _method: 'delete'} }) .done(function() { console.log(\"Товар успешно удален\"); $itemBlock.remove(); }) .fail(function() { console.log(\"Что то пошло не так\"); }) }); });"
|
|
1253
|
+
},
|
|
1254
|
+
{
|
|
1255
|
+
"id": "itemproduct",
|
|
1256
|
+
"name": "item.product",
|
|
1257
|
+
"type": "object",
|
|
1258
|
+
"description": "Товар позиции.",
|
|
1259
|
+
"example": "{% for item in cart.items %} {{ item.product.title }} {% endfor %}"
|
|
1260
|
+
},
|
|
1261
|
+
{
|
|
1262
|
+
"id": "itemquantity",
|
|
1263
|
+
"name": "item.quantity",
|
|
1264
|
+
"type": "number",
|
|
1265
|
+
"description": "Число товаров в позиции.",
|
|
1266
|
+
"example": "{% for item in cart.items %} {{ item.product.title }} Изменить количество товаров позиции: {% endfor %}"
|
|
1267
|
+
},
|
|
1268
|
+
{
|
|
1269
|
+
"id": "itemsale_price-2",
|
|
1270
|
+
"name": "item.sale_price",
|
|
1271
|
+
"type": "number",
|
|
1272
|
+
"description": "Цена одного товара позиции.",
|
|
1273
|
+
"example": "{% for item in cart.items %} {{ item.product.title }} {{ item.sale_price | money }} × {{ item.quantity }} = {{ item.total_price | money }} {% endfor %}"
|
|
1274
|
+
},
|
|
1275
|
+
{
|
|
1276
|
+
"id": "itemtitle",
|
|
1277
|
+
"name": "item.title",
|
|
1278
|
+
"type": "string",
|
|
1279
|
+
"description": "Название позиции.",
|
|
1280
|
+
"example": "{% for item in cart.items %} {{ item.title }} {% endfor %}"
|
|
1281
|
+
},
|
|
1282
|
+
{
|
|
1283
|
+
"id": "itemtotal_price-2",
|
|
1284
|
+
"name": "item.total_price",
|
|
1285
|
+
"type": "number",
|
|
1286
|
+
"description": "Суммарная стоимость товаров позиции.",
|
|
1287
|
+
"example": "{% for item in cart.items %} {{ item.product.title }} {{ item.sale_price | money }} × {{ item.quantity }} = {{ item.total_price | money }} {% endfor %}"
|
|
1288
|
+
},
|
|
1289
|
+
{
|
|
1290
|
+
"id": "itemweight-2",
|
|
1291
|
+
"name": "item.weight",
|
|
1292
|
+
"type": "number",
|
|
1293
|
+
"description": "Вес одного товара позиции.",
|
|
1294
|
+
"example": "{% for item in cart.items %} {{ item.product.title }} {% if item.weight %} Вес товара: {{ item.weight }} {{ item.unit }} Суммарный вес товаров позиции: {{ item.total_weight }} {{ item.unit }} {% endif %} Изменить количество товаров позиции: {% endfor %}"
|
|
1295
|
+
},
|
|
1296
|
+
{
|
|
1297
|
+
"id": "itemtotal_weight",
|
|
1298
|
+
"name": "item.total_weight",
|
|
1299
|
+
"type": "number",
|
|
1300
|
+
"description": "Суммарный вес товаров позиции.",
|
|
1301
|
+
"example": "{% for item in cart.items %} {{ item.product.title }} {% if item.weight %} Вес товара: {{ item.weight }} {{ item.unit }} Суммарный вес товаров позиции: {{ item.total_weight }} {{ item.unit }} {% endif %} Изменить количество товаров позиции: {% endfor %}"
|
|
1302
|
+
},
|
|
1303
|
+
{
|
|
1304
|
+
"id": "itemurl",
|
|
1305
|
+
"name": "item.url",
|
|
1306
|
+
"type": "string",
|
|
1307
|
+
"description": "URL применяющийся для удаления товаров из корзины.",
|
|
1308
|
+
"example": "{% for item in cart.items %} {{ item.product.title }} Удалить {% endfor %}\n$(document).ready(function() { $('.js-item-remove').click(function(event) { event.preventDefault(); var itemUrl = $(this).attr('href'); var removeUrl = itemUrl + '.json'; var _targetId = $(this).data('item-target'); var $itemBlock = $('[data-item-block=\"'+ _targetId +'\"]') $.ajax({ url: itemUrl, type: 'POST', data: { _method: 'delete'} }) .done(function() { console.log(\"Товар успешно удален\"); $itemBlock.remove(); }) .fail(function() { console.log(\"Что то пошло не так\"); }) }); });"
|
|
1309
|
+
},
|
|
1310
|
+
{
|
|
1311
|
+
"id": "itemvariant",
|
|
1312
|
+
"name": "item.variant",
|
|
1313
|
+
"type": "object",
|
|
1314
|
+
"description": "Модификация товара позиции.",
|
|
1315
|
+
"example": "{% for item in cart.items %} {{ item.title }} {% if item.variant.option_values.size > 0 %} {% for option_value in item.variant.option_values %} {{ option_value.option_name.title }} - {{ option_value.title }} {% endfor %} {% endif %} {% endfor %}"
|
|
1316
|
+
},
|
|
1317
|
+
{
|
|
1318
|
+
"id": "itemunit",
|
|
1319
|
+
"name": "item.unit",
|
|
1320
|
+
"type": "string",
|
|
1321
|
+
"description": "Единица измерения товара. Доступные значения: \"шт\", \"кг\", \"л; дм3\", \"м\", \"м2\", \"г\", \"т\"",
|
|
1322
|
+
"example": "{% for item in cart.items %} {{ item.product.title }} {% if item.weight %} Вес товара: {{ item.weight }} {{ item.unit }} Суммарный вес товаров позиции: {{ item.total_weight }} {{ item.unit }} {% endif %} Изменить количество товаров позиции: {% endfor %}"
|
|
1323
|
+
}
|
|
1324
|
+
]
|
|
1325
|
+
},
|
|
1326
|
+
{
|
|
1327
|
+
"id": "collection--linklists",
|
|
1328
|
+
"name": "Linklists",
|
|
1329
|
+
"description": "linklists - это массив всех меню из раздела меню и страницы. К конкретному меню можно обратиться через пермалинк (linklists.main-menu).",
|
|
1330
|
+
"variables": [
|
|
1331
|
+
{
|
|
1332
|
+
"id": "linklisthandle",
|
|
1333
|
+
"name": "linklist.handle",
|
|
1334
|
+
"type": "string",
|
|
1335
|
+
"description": "Пермалинк меню.",
|
|
1336
|
+
"example": "{% for link in linklists.main-menu.links %} {% assign current_class = '' %} {% if link.current? %} {% assign current_class = 'active' %} {% endif %} {{ link.title }} {% endfor %}"
|
|
1337
|
+
},
|
|
1338
|
+
{
|
|
1339
|
+
"id": "linklistsmenu_namelinks",
|
|
1340
|
+
"name": "linklists.menu_name.links",
|
|
1341
|
+
"type": "array",
|
|
1342
|
+
"description": "Выбор ссылок конкретного меню, например вывод меню с названием footer.",
|
|
1343
|
+
"example": "{% for link in linklists.footer.links %} | {{ link.title }}{% endfor %}"
|
|
1344
|
+
},
|
|
1345
|
+
{
|
|
1346
|
+
"id": "linklisttitle",
|
|
1347
|
+
"name": "linklist.title",
|
|
1348
|
+
"type": "string",
|
|
1349
|
+
"description": "Title меню",
|
|
1350
|
+
"example": "Вывод имени меню с пермалинком main-menu{{ linklists.main-menu.title }}"
|
|
1351
|
+
},
|
|
1352
|
+
{
|
|
1353
|
+
"id": "linkcurrent",
|
|
1354
|
+
"name": "link.current?",
|
|
1355
|
+
"type": "boolean",
|
|
1356
|
+
"description": "Текущая ссылка?",
|
|
1357
|
+
"example": "{% for link in linklists.main-menu.links %} {% assign current_class = '' %} {% if link.current? %} {% assign current_class = 'active' %} {% endif %} {{ link.title }} {% endfor %}"
|
|
1358
|
+
},
|
|
1359
|
+
{
|
|
1360
|
+
"id": "linktitle",
|
|
1361
|
+
"name": "link.title",
|
|
1362
|
+
"type": "string",
|
|
1363
|
+
"description": "Title пункта меню",
|
|
1364
|
+
"example": "{% for link in linklists.main-menu.links %} {% assign current_class = '' %} {% if link.current? %} {% assign current_class = 'active' %} {% endif %} {{ link.title }} {% endfor %}"
|
|
1365
|
+
},
|
|
1366
|
+
{
|
|
1367
|
+
"id": "linkurl",
|
|
1368
|
+
"name": "link.url",
|
|
1369
|
+
"type": "string",
|
|
1370
|
+
"description": "URL ссылки из меню",
|
|
1371
|
+
"example": "{% for link in linklists.main-menu.links %} {% assign current_class = '' %} {% if link.current? %} {% assign current_class = 'active' %} {% endif %} {{ link.title }} {% endfor %}"
|
|
1372
|
+
}
|
|
1373
|
+
]
|
|
1374
|
+
},
|
|
1375
|
+
{
|
|
1376
|
+
"id": "collection--blog",
|
|
1377
|
+
"name": "Blog",
|
|
1378
|
+
"description": "",
|
|
1379
|
+
"variables": [
|
|
1380
|
+
{
|
|
1381
|
+
"id": "blogarticles",
|
|
1382
|
+
"name": "blog.articles",
|
|
1383
|
+
"type": "array",
|
|
1384
|
+
"description": "Массив статей",
|
|
1385
|
+
"example": "Список статей блога {{ blog.title }}:{% for article in blog.articles %} {{ article.title }} {% endfor %}"
|
|
1386
|
+
},
|
|
1387
|
+
{
|
|
1388
|
+
"id": "blogcomments_enabled",
|
|
1389
|
+
"name": "blog.comments_enabled?",
|
|
1390
|
+
"type": "boolean",
|
|
1391
|
+
"description": "Разрешены ли комментарии?",
|
|
1392
|
+
"example": ""
|
|
1393
|
+
},
|
|
1394
|
+
{
|
|
1395
|
+
"id": "bloghandle",
|
|
1396
|
+
"name": "blog.handle",
|
|
1397
|
+
"type": "string",
|
|
1398
|
+
"description": "Пермалинк блога",
|
|
1399
|
+
"example": ""
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
"id": "blogid",
|
|
1403
|
+
"name": "blog.id",
|
|
1404
|
+
"type": "number",
|
|
1405
|
+
"description": "Id блога.",
|
|
1406
|
+
"example": ""
|
|
1407
|
+
},
|
|
1408
|
+
{
|
|
1409
|
+
"id": "blogmoderated",
|
|
1410
|
+
"name": "blog.moderated?",
|
|
1411
|
+
"type": "boolean",
|
|
1412
|
+
"description": "Модерируются ли комментарии.",
|
|
1413
|
+
"example": ""
|
|
1414
|
+
},
|
|
1415
|
+
{
|
|
1416
|
+
"id": "blogtitle",
|
|
1417
|
+
"name": "blog.title",
|
|
1418
|
+
"type": "string",
|
|
1419
|
+
"description": "Заголовок блога",
|
|
1420
|
+
"example": "{% for blog in blogs %} {{ blog.title }}{% endfor %}#=> Новости#=> Статьи"
|
|
1421
|
+
},
|
|
1422
|
+
{
|
|
1423
|
+
"id": "blogurl",
|
|
1424
|
+
"name": "blog.url",
|
|
1425
|
+
"type": "string",
|
|
1426
|
+
"description": "URL блога",
|
|
1427
|
+
"example": "Список блогов:{% for blog in blogs %} {{ blog.title }} {% endfor %}"
|
|
1428
|
+
},
|
|
1429
|
+
{
|
|
1430
|
+
"id": "blogtags",
|
|
1431
|
+
"name": "blog.tags",
|
|
1432
|
+
"type": "array",
|
|
1433
|
+
"description": "Облако тегов для блога",
|
|
1434
|
+
"example": "{% unless blog.tags == empty %}\nТеги: \n{% for tag in blog.tags %} {{ tag.title }} {% endfor %} \n{% endunless %}"
|
|
1435
|
+
},
|
|
1436
|
+
{
|
|
1437
|
+
"id": "blogs",
|
|
1438
|
+
"name": "blogs",
|
|
1439
|
+
"type": "array",
|
|
1440
|
+
"description": "Массив блогов сайта",
|
|
1441
|
+
"example": "Список блогов:{% for blog in blogs %} {{ blog.title }} {% endfor %}"
|
|
1442
|
+
},
|
|
1443
|
+
{
|
|
1444
|
+
"id": "articleauthor",
|
|
1445
|
+
"name": "article.author",
|
|
1446
|
+
"type": "string",
|
|
1447
|
+
"description": "Автор статьи.",
|
|
1448
|
+
"example": ""
|
|
1449
|
+
},
|
|
1450
|
+
{
|
|
1451
|
+
"id": "articlecomments",
|
|
1452
|
+
"name": "article.comments",
|
|
1453
|
+
"type": "array",
|
|
1454
|
+
"description": "Массив расположенных в хронологическом порядке комментариев.",
|
|
1455
|
+
"example": ""
|
|
1456
|
+
},
|
|
1457
|
+
{
|
|
1458
|
+
"id": "articlecomments_count",
|
|
1459
|
+
"name": "article.comments_count",
|
|
1460
|
+
"type": "number",
|
|
1461
|
+
"description": "Количество комментариев к статье.",
|
|
1462
|
+
"example": ""
|
|
1463
|
+
},
|
|
1464
|
+
{
|
|
1465
|
+
"id": "articlecomments_enabled",
|
|
1466
|
+
"name": "article.comments_enabled?",
|
|
1467
|
+
"type": "boolean",
|
|
1468
|
+
"description": "Возвращает true, если комментарии разрешены",
|
|
1469
|
+
"example": ""
|
|
1470
|
+
},
|
|
1471
|
+
{
|
|
1472
|
+
"id": "articlecontent",
|
|
1473
|
+
"name": "article.content",
|
|
1474
|
+
"type": "html",
|
|
1475
|
+
"description": "Содержание статьи.",
|
|
1476
|
+
"example": ""
|
|
1477
|
+
},
|
|
1478
|
+
{
|
|
1479
|
+
"id": "articlecreated_at",
|
|
1480
|
+
"name": "article.created_at",
|
|
1481
|
+
"type": "date",
|
|
1482
|
+
"description": "Время публикации статьи.",
|
|
1483
|
+
"example": ""
|
|
1484
|
+
},
|
|
1485
|
+
{
|
|
1486
|
+
"id": "articleid",
|
|
1487
|
+
"name": "article.id",
|
|
1488
|
+
"type": "number",
|
|
1489
|
+
"description": "Id статьи",
|
|
1490
|
+
"example": ""
|
|
1491
|
+
},
|
|
1492
|
+
{
|
|
1493
|
+
"id": "articleimage",
|
|
1494
|
+
"name": "article.image",
|
|
1495
|
+
"type": "object",
|
|
1496
|
+
"description": "Изображение статьи.",
|
|
1497
|
+
"example": "{{ article.image.large_url }}"
|
|
1498
|
+
},
|
|
1499
|
+
{
|
|
1500
|
+
"id": "articlemoderated",
|
|
1501
|
+
"name": "article.moderated?",
|
|
1502
|
+
"type": "boolean",
|
|
1503
|
+
"description": "Возвращает true, если модерация разрешена",
|
|
1504
|
+
"example": ""
|
|
1505
|
+
},
|
|
1506
|
+
{
|
|
1507
|
+
"id": "articlepreview",
|
|
1508
|
+
"name": "article.preview",
|
|
1509
|
+
"type": "html",
|
|
1510
|
+
"description": "Анонс статьи",
|
|
1511
|
+
"example": ""
|
|
1512
|
+
},
|
|
1513
|
+
{
|
|
1514
|
+
"id": "articletitle",
|
|
1515
|
+
"name": "article.title",
|
|
1516
|
+
"type": "string",
|
|
1517
|
+
"description": "Заголовок статьи",
|
|
1518
|
+
"example": ""
|
|
1519
|
+
},
|
|
1520
|
+
{
|
|
1521
|
+
"id": "articleurl",
|
|
1522
|
+
"name": "article.url",
|
|
1523
|
+
"type": "string",
|
|
1524
|
+
"description": "URL страницы статьи.",
|
|
1525
|
+
"example": ""
|
|
1526
|
+
},
|
|
1527
|
+
{
|
|
1528
|
+
"id": "articlerelated_products",
|
|
1529
|
+
"name": "article.related_products",
|
|
1530
|
+
"type": "array",
|
|
1531
|
+
"description": "Товары к статье",
|
|
1532
|
+
"example": "{% if article.related_products.size > 0 %} Товары к статье {% for product in article.related_products %} {{ product.title }} {% endfor %}{% endif %}"
|
|
1533
|
+
},
|
|
1534
|
+
{
|
|
1535
|
+
"id": "articletags",
|
|
1536
|
+
"name": "article.tags",
|
|
1537
|
+
"type": "array",
|
|
1538
|
+
"description": "Массив тегов к статье",
|
|
1539
|
+
"example": "{% unless article.tags == empty %}\nТеги: \n{% for tag in article.tags %} {{ tag.title }} ({{ tag.articles_count }}) {% endfor %} \n{% endunless %}"
|
|
1540
|
+
},
|
|
1541
|
+
{
|
|
1542
|
+
"id": "article-updated_at",
|
|
1543
|
+
"name": "article updated_at",
|
|
1544
|
+
"type": "date",
|
|
1545
|
+
"description": "Дата обновления статьи",
|
|
1546
|
+
"example": ""
|
|
1547
|
+
},
|
|
1548
|
+
{
|
|
1549
|
+
"id": "commentaction_url",
|
|
1550
|
+
"name": "comment.action_url",
|
|
1551
|
+
"type": "string",
|
|
1552
|
+
"description": "URL используемый для отправки post запроса на создание комментария.",
|
|
1553
|
+
"example": ""
|
|
1554
|
+
},
|
|
1555
|
+
{
|
|
1556
|
+
"id": "commentauthor",
|
|
1557
|
+
"name": "comment.author",
|
|
1558
|
+
"type": "string",
|
|
1559
|
+
"description": "Имя автора комментария.",
|
|
1560
|
+
"example": ""
|
|
1561
|
+
},
|
|
1562
|
+
{
|
|
1563
|
+
"id": "commentcontent",
|
|
1564
|
+
"name": "comment.content",
|
|
1565
|
+
"type": "string",
|
|
1566
|
+
"description": "Текст комментария.",
|
|
1567
|
+
"example": ""
|
|
1568
|
+
},
|
|
1569
|
+
{
|
|
1570
|
+
"id": "commentcreated_at",
|
|
1571
|
+
"name": "comment.created_at",
|
|
1572
|
+
"type": "date",
|
|
1573
|
+
"description": "Дата создания комментария.",
|
|
1574
|
+
"example": ""
|
|
1575
|
+
},
|
|
1576
|
+
{
|
|
1577
|
+
"id": "commentemail",
|
|
1578
|
+
"name": "comment.email",
|
|
1579
|
+
"type": "string",
|
|
1580
|
+
"description": "Email автора комментария.",
|
|
1581
|
+
"example": ""
|
|
1582
|
+
},
|
|
1583
|
+
{
|
|
1584
|
+
"id": "commenterrors",
|
|
1585
|
+
"name": "comment.errors",
|
|
1586
|
+
"type": "array",
|
|
1587
|
+
"description": "Список имен неправильно заполненных полей.",
|
|
1588
|
+
"example": ""
|
|
1589
|
+
},
|
|
1590
|
+
{
|
|
1591
|
+
"id": "commentid",
|
|
1592
|
+
"name": "comment.id",
|
|
1593
|
+
"type": "number",
|
|
1594
|
+
"description": "Id комментария.",
|
|
1595
|
+
"example": ""
|
|
1596
|
+
}
|
|
1597
|
+
]
|
|
1598
|
+
},
|
|
1599
|
+
{
|
|
1600
|
+
"id": "collection--Languages",
|
|
1601
|
+
"name": "Language",
|
|
1602
|
+
"description": "",
|
|
1603
|
+
"variables": [
|
|
1604
|
+
{
|
|
1605
|
+
"id": "languages",
|
|
1606
|
+
"name": "languages",
|
|
1607
|
+
"type": "array",
|
|
1608
|
+
"description": "Массив доступных языков",
|
|
1609
|
+
"example": "{% for language in languages %}\n{% endfor %}"
|
|
1610
|
+
},
|
|
1611
|
+
{
|
|
1612
|
+
"id": "languageicon_url",
|
|
1613
|
+
"name": "language.icon_url",
|
|
1614
|
+
"type": "string",
|
|
1615
|
+
"description": "Иконка языка.",
|
|
1616
|
+
"example": ""
|
|
1617
|
+
},
|
|
1618
|
+
{
|
|
1619
|
+
"id": "languagelocale",
|
|
1620
|
+
"name": "language.locale",
|
|
1621
|
+
"type": "string",
|
|
1622
|
+
"description": "Локаль языка.",
|
|
1623
|
+
"example": ""
|
|
1624
|
+
},
|
|
1625
|
+
{
|
|
1626
|
+
"id": "languagenot_default",
|
|
1627
|
+
"name": "language.not_default?",
|
|
1628
|
+
"type": "boolean",
|
|
1629
|
+
"description": "Проверка на то, что текущий язык не является основным языком интернет-магазина. Это нужно знать, например, в форме поиска, так как нельзя передавать на сервер параметром локаль основного языка.",
|
|
1630
|
+
"example": ""
|
|
1631
|
+
},
|
|
1632
|
+
{
|
|
1633
|
+
"id": "languageswitch_url",
|
|
1634
|
+
"name": "language.switch_url",
|
|
1635
|
+
"type": "string",
|
|
1636
|
+
"description": "URL переключения языка магазина на данный язык (используется в списке языков). Не использовать переключение языков с данной переменной, когда на body добавлен дата атрибут data-multi-lang=\"{{ language.not_default? }}\"",
|
|
1637
|
+
"example": ""
|
|
1638
|
+
},
|
|
1639
|
+
{
|
|
1640
|
+
"id": "languagetitle",
|
|
1641
|
+
"name": "language.title",
|
|
1642
|
+
"type": "string",
|
|
1643
|
+
"description": "Название языка.",
|
|
1644
|
+
"example": ""
|
|
1645
|
+
}
|
|
1646
|
+
]
|
|
1647
|
+
},
|
|
1648
|
+
{
|
|
1649
|
+
"id": "collection--page",
|
|
1650
|
+
"name": "Page",
|
|
1651
|
+
"description": "",
|
|
1652
|
+
"variables": [
|
|
1653
|
+
{
|
|
1654
|
+
"id": "pagecontent",
|
|
1655
|
+
"name": "page.content",
|
|
1656
|
+
"type": "html",
|
|
1657
|
+
"description": "Содержание страницы.",
|
|
1658
|
+
"example": ""
|
|
1659
|
+
},
|
|
1660
|
+
{
|
|
1661
|
+
"id": "pageid",
|
|
1662
|
+
"name": "page.id",
|
|
1663
|
+
"type": "number",
|
|
1664
|
+
"description": "Id страницы.",
|
|
1665
|
+
"example": ""
|
|
1666
|
+
},
|
|
1667
|
+
{
|
|
1668
|
+
"id": "pagetitle",
|
|
1669
|
+
"name": "page.title",
|
|
1670
|
+
"type": "string",
|
|
1671
|
+
"description": "Название страницы.",
|
|
1672
|
+
"example": ""
|
|
1673
|
+
},
|
|
1674
|
+
{
|
|
1675
|
+
"id": "pageurl",
|
|
1676
|
+
"name": "page.url",
|
|
1677
|
+
"type": "string",
|
|
1678
|
+
"description": "URL страницы",
|
|
1679
|
+
"example": "{% comment %} Делаем пермалинк страницы вручную {% endcomment %} {% assign page_handle = page.url | split: '/' | last %} {{ page.content }}"
|
|
1680
|
+
}
|
|
1681
|
+
]
|
|
1682
|
+
},
|
|
1683
|
+
{
|
|
1684
|
+
"id": "collection--search",
|
|
1685
|
+
"name": "Search",
|
|
1686
|
+
"description": "",
|
|
1687
|
+
"variables": [
|
|
1688
|
+
{
|
|
1689
|
+
"id": "searchperformed",
|
|
1690
|
+
"name": "search.performed?",
|
|
1691
|
+
"type": "boolean",
|
|
1692
|
+
"description": "Запущен ли поиск?",
|
|
1693
|
+
"example": "{% if search.performed? %} {% if search.results == empty %} Измените ключевые слова для поиска: {% else %} Вы искали: {{ search.query }} {% endif %}{% else %} Введите ключевые слова для поиска:{% endif %}"
|
|
1694
|
+
},
|
|
1695
|
+
{
|
|
1696
|
+
"id": "searchquery",
|
|
1697
|
+
"name": "search.query",
|
|
1698
|
+
"type": "string",
|
|
1699
|
+
"description": "Запрос поиска.",
|
|
1700
|
+
"example": "{% if search.performed? %} Вы искали: {{ search.query }}{% else %} Введите ключевые слова для поиска:{% endif %}"
|
|
1701
|
+
},
|
|
1702
|
+
{
|
|
1703
|
+
"id": "searchresults",
|
|
1704
|
+
"name": "search.results",
|
|
1705
|
+
"type": "array",
|
|
1706
|
+
"description": "Результаты поиска, массив товаров.",
|
|
1707
|
+
"example": "Результаты поиска:{% for product in search.results %} {{ product.title }}{% endfor %}"
|
|
1708
|
+
},
|
|
1709
|
+
{
|
|
1710
|
+
"id": "search_url",
|
|
1711
|
+
"name": "search_url",
|
|
1712
|
+
"type": "string",
|
|
1713
|
+
"description": "URL на страницу поиска. Также используется в поисковой форме:",
|
|
1714
|
+
"example": "{% if language.not_default? %} {% endif %}"
|
|
1715
|
+
}
|
|
1716
|
+
]
|
|
1717
|
+
},
|
|
1718
|
+
{
|
|
1719
|
+
"id": "collection--discount",
|
|
1720
|
+
"name": "discount",
|
|
1721
|
+
"description": "",
|
|
1722
|
+
"variables": [
|
|
1723
|
+
{
|
|
1724
|
+
"id": "discountamount",
|
|
1725
|
+
"name": "discount.amount",
|
|
1726
|
+
"type": "number",
|
|
1727
|
+
"description": "Численная величина скидки в денежном эквиваленте.",
|
|
1728
|
+
"example": ""
|
|
1729
|
+
},
|
|
1730
|
+
{
|
|
1731
|
+
"id": "discountdescription",
|
|
1732
|
+
"name": "discount.description",
|
|
1733
|
+
"type": "string",
|
|
1734
|
+
"description": "Описание скидки.",
|
|
1735
|
+
"example": ""
|
|
1736
|
+
},
|
|
1737
|
+
{
|
|
1738
|
+
"id": "discountpercent",
|
|
1739
|
+
"name": "discount.percent",
|
|
1740
|
+
"type": "number",
|
|
1741
|
+
"description": "Процент скидки, если задана в процентах.",
|
|
1742
|
+
"example": ""
|
|
1743
|
+
},
|
|
1744
|
+
{
|
|
1745
|
+
"id": "discounttype",
|
|
1746
|
+
"name": "discount.type",
|
|
1747
|
+
"type": "string",
|
|
1748
|
+
"description": "Тип скидки (деньги или процент).",
|
|
1749
|
+
"example": ""
|
|
1750
|
+
}
|
|
1751
|
+
]
|
|
1752
|
+
},
|
|
1753
|
+
{
|
|
1754
|
+
"id": "collection--order",
|
|
1755
|
+
"name": "order",
|
|
1756
|
+
"description": "",
|
|
1757
|
+
"variables": [
|
|
1758
|
+
{
|
|
1759
|
+
"id": "orderitems",
|
|
1760
|
+
"name": "order.items",
|
|
1761
|
+
"type": "array",
|
|
1762
|
+
"description": "Массив позиций заказа, переменная доступна на странице успешного оформления заказа.",
|
|
1763
|
+
"example": "{% for item in order.items %} {{ item.title }} {% if item.sku %} Артикул: {{ item.sku }} {% endif %} {{item.quantity}} {{ item.total_price | money }} {% endfor %}"
|
|
1764
|
+
},
|
|
1765
|
+
{
|
|
1766
|
+
"id": "orderclient",
|
|
1767
|
+
"name": "order.client",
|
|
1768
|
+
"type": "object",
|
|
1769
|
+
"description": "Данные клиента (объект) order.client.name - имя клиента. order.client.surname - фамилия клиента. order.client.middlename - отчество клиента. order.client.phone - телефон клиента. order.client.email - email клиента.",
|
|
1770
|
+
"example": ""
|
|
1771
|
+
},
|
|
1772
|
+
{
|
|
1773
|
+
"id": "ordercomment",
|
|
1774
|
+
"name": "order.comment",
|
|
1775
|
+
"type": "string",
|
|
1776
|
+
"description": "Комментарий к заказу.",
|
|
1777
|
+
"example": ""
|
|
1778
|
+
},
|
|
1779
|
+
{
|
|
1780
|
+
"id": "ordercreation_date",
|
|
1781
|
+
"name": "order.creation_date",
|
|
1782
|
+
"type": "date",
|
|
1783
|
+
"description": "Дата создания заказа.",
|
|
1784
|
+
"example": ""
|
|
1785
|
+
},
|
|
1786
|
+
{
|
|
1787
|
+
"id": "ordercurrency",
|
|
1788
|
+
"name": "order.currency",
|
|
1789
|
+
"type": "string",
|
|
1790
|
+
"description": "Валюта заказа.",
|
|
1791
|
+
"example": ""
|
|
1792
|
+
},
|
|
1793
|
+
{
|
|
1794
|
+
"id": "orderdelivery_date",
|
|
1795
|
+
"name": "order.delivery_date",
|
|
1796
|
+
"type": "date",
|
|
1797
|
+
"description": "Дата доставки.",
|
|
1798
|
+
"example": ""
|
|
1799
|
+
},
|
|
1800
|
+
{
|
|
1801
|
+
"id": "orderdelivery_title",
|
|
1802
|
+
"name": "order.delivery_title",
|
|
1803
|
+
"type": "string",
|
|
1804
|
+
"description": "Название способа доставки.",
|
|
1805
|
+
"example": ""
|
|
1806
|
+
},
|
|
1807
|
+
{
|
|
1808
|
+
"id": "orderdelivery_description",
|
|
1809
|
+
"name": "order.delivery_description",
|
|
1810
|
+
"type": "string",
|
|
1811
|
+
"description": "Описание способа доставки.",
|
|
1812
|
+
"example": ""
|
|
1813
|
+
},
|
|
1814
|
+
{
|
|
1815
|
+
"id": "orderdelivery_price",
|
|
1816
|
+
"name": "order.delivery_price",
|
|
1817
|
+
"type": "number",
|
|
1818
|
+
"description": "Стоимость доставки.",
|
|
1819
|
+
"example": ""
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
"id": "orderdelivery_pricebase",
|
|
1823
|
+
"name": "order.delivery_price.base",
|
|
1824
|
+
"type": "number",
|
|
1825
|
+
"description": "стоимость доставки без наценки на способ оплаты.",
|
|
1826
|
+
"example": ""
|
|
1827
|
+
},
|
|
1828
|
+
{
|
|
1829
|
+
"id": "orderdelivery_time",
|
|
1830
|
+
"name": "order.delivery_time",
|
|
1831
|
+
"type": "string",
|
|
1832
|
+
"description": "Интервал времени доставки, например, \"с 10 до 18\".",
|
|
1833
|
+
"example": "{% if order.delivery_time %} Доставка: {{ order.delivery_time }} {{ order.delivery_date }}{% endif %}"
|
|
1834
|
+
},
|
|
1835
|
+
{
|
|
1836
|
+
"id": "orderfields",
|
|
1837
|
+
"name": "order.fields",
|
|
1838
|
+
"type": "object",
|
|
1839
|
+
"description": "Поля заказа order.all_fields - массив кастомных полей заказа order.fields - массив кастомных полей заказа выводимых в корзине order.client.all_fields - массив полей клиента у заказа, включая скрытые поля клиента order.client.client_fields - массив полей клиента у заказа( не включает скрытые поля ) order.shipping_address.all_fields - массив полей адреса у заказа, включая скрытые для клиента поля адреса order.shipping_address.client_fields - массив полей адреса у заказа ( не включает скрытые поля ) order.result_fields - массив полей у заказа показываемые клиенту после оформления заказа. Для вывода поля в корзине {{ cart.all_fields['Новое'].input }}.",
|
|
1840
|
+
"example": "{{ order.all_fields['Название поля в бэк-офисе'].value }}"
|
|
1841
|
+
},
|
|
1842
|
+
{
|
|
1843
|
+
"id": "orderid",
|
|
1844
|
+
"name": "order.id",
|
|
1845
|
+
"type": "number",
|
|
1846
|
+
"description": "Идентификатор заказа (используется для ссылки на страницу заказа в бекофисе).",
|
|
1847
|
+
"example": ""
|
|
1848
|
+
},
|
|
1849
|
+
{
|
|
1850
|
+
"id": "orderkey",
|
|
1851
|
+
"name": "order.key",
|
|
1852
|
+
"type": "string",
|
|
1853
|
+
"description": "Ключ, по которому выводится заказ - используется в url.",
|
|
1854
|
+
"example": ""
|
|
1855
|
+
},
|
|
1856
|
+
{
|
|
1857
|
+
"id": "ordermargin",
|
|
1858
|
+
"name": "order.margin",
|
|
1859
|
+
"type": "number",
|
|
1860
|
+
"description": "Наценка на способ оплаты.",
|
|
1861
|
+
"example": ""
|
|
1862
|
+
},
|
|
1863
|
+
{
|
|
1864
|
+
"id": "ordernumber",
|
|
1865
|
+
"name": "order.number",
|
|
1866
|
+
"type": "number",
|
|
1867
|
+
"description": "Номер заказа.",
|
|
1868
|
+
"example": ""
|
|
1869
|
+
},
|
|
1870
|
+
{
|
|
1871
|
+
"id": "orderpayment_description",
|
|
1872
|
+
"name": "order.payment_description",
|
|
1873
|
+
"type": "string",
|
|
1874
|
+
"description": "Описание способа оплаты.",
|
|
1875
|
+
"example": ""
|
|
1876
|
+
},
|
|
1877
|
+
{
|
|
1878
|
+
"id": "orderpayment_title",
|
|
1879
|
+
"name": "order.payment_title",
|
|
1880
|
+
"type": "string",
|
|
1881
|
+
"description": "Название способа оплаты.",
|
|
1882
|
+
"example": ""
|
|
1883
|
+
},
|
|
1884
|
+
{
|
|
1885
|
+
"id": "ordershipping_address",
|
|
1886
|
+
"name": "order.shipping_address",
|
|
1887
|
+
"type": "object",
|
|
1888
|
+
"description": "Данные адреса доставки (объект). 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 - индекс.",
|
|
1889
|
+
"example": ""
|
|
1890
|
+
},
|
|
1891
|
+
{
|
|
1892
|
+
"id": "orderpaid",
|
|
1893
|
+
"name": "order.paid?",
|
|
1894
|
+
"type": "boolean",
|
|
1895
|
+
"description": "Заказ оплачен?",
|
|
1896
|
+
"example": "{% if order.paid? %} оплачен{% else %} не оплачен{% endif %}"
|
|
1897
|
+
},
|
|
1898
|
+
{
|
|
1899
|
+
"id": "orderpayment_needed",
|
|
1900
|
+
"name": "order.payment_needed?",
|
|
1901
|
+
"type": "boolean",
|
|
1902
|
+
"description": "Необходима оплата?",
|
|
1903
|
+
"example": "{% if order.payment_needed? %} {% if order.paid_with_bank_bill? %} Перейти к оплате (распечатать квитанцию) {% else %} Перейти к оплате {% endif %}{% endif %}"
|
|
1904
|
+
},
|
|
1905
|
+
{
|
|
1906
|
+
"id": "orderpaid_with_bank_bill",
|
|
1907
|
+
"name": "order.paid_with_bank_bill?",
|
|
1908
|
+
"type": "boolean",
|
|
1909
|
+
"description": "Оплачен через банк?",
|
|
1910
|
+
"example": "{% if order.payment_needed? %} {% if order.paid_with_bank_bill? %} Перейти к оплате (распечатать квитанцию) {% else %} Перейти к оплате {% endif %}{% endif %}"
|
|
1911
|
+
},
|
|
1912
|
+
{
|
|
1913
|
+
"id": "orderpay_url",
|
|
1914
|
+
"name": "order.pay_url",
|
|
1915
|
+
"type": "string",
|
|
1916
|
+
"description": "Ссылка на страницу оплаты заказа",
|
|
1917
|
+
"example": "{% if order.payment_needed? %} {% if order.paid_with_bank_bill? %} Перейти к оплате (распечатать квитанцию) {% else %} Перейти к оплате {% endif %}{% endif %}"
|
|
1918
|
+
},
|
|
1919
|
+
{
|
|
1920
|
+
"id": "ordercustomer_status",
|
|
1921
|
+
"name": "order.customer_status",
|
|
1922
|
+
"type": "string",
|
|
1923
|
+
"description": "Пользовательский статус",
|
|
1924
|
+
"example": "{% capture span_class %}{% if order.fulfillment_status == 'declined' or order.fulfillment_status == 'returned' %}red{% else %}green{% endif %}{% endcapture %}{{ order.customer_status }}"
|
|
1925
|
+
},
|
|
1926
|
+
{
|
|
1927
|
+
"id": "orderfulfillment_status",
|
|
1928
|
+
"name": "order.fulfillment_status",
|
|
1929
|
+
"type": "string",
|
|
1930
|
+
"description": "статус выполнения",
|
|
1931
|
+
"example": "{% capture span_class %}{% if order.fulfillment_status == 'declined' or order.fulfillment_status == 'returned' %}red{% else %}green{% endif %}{% endcapture %}{{ order.customer_status }}"
|
|
1932
|
+
},
|
|
1933
|
+
{
|
|
1934
|
+
"id": "ordercustom_status_title",
|
|
1935
|
+
"name": "order.custom_status_title",
|
|
1936
|
+
"type": "string",
|
|
1937
|
+
"description": "Пользовательский статус",
|
|
1938
|
+
"example": ""
|
|
1939
|
+
},
|
|
1940
|
+
{
|
|
1941
|
+
"id": "ordertotal_price",
|
|
1942
|
+
"name": "order.total_price",
|
|
1943
|
+
"type": "number",
|
|
1944
|
+
"description": "Сумма заказа с учетом скидки",
|
|
1945
|
+
"example": ""
|
|
1946
|
+
},
|
|
1947
|
+
{
|
|
1948
|
+
"id": "orderitems_price",
|
|
1949
|
+
"name": "order.items_price",
|
|
1950
|
+
"type": "number",
|
|
1951
|
+
"description": "Сумма позиций заказа с учетом скидки",
|
|
1952
|
+
"example": ""
|
|
1953
|
+
},
|
|
1954
|
+
{
|
|
1955
|
+
"id": "orderstatus",
|
|
1956
|
+
"name": "order.status",
|
|
1957
|
+
"type": "string",
|
|
1958
|
+
"description": "Статус заказа",
|
|
1959
|
+
"example": ""
|
|
1960
|
+
},
|
|
1961
|
+
{
|
|
1962
|
+
"id": "orderdelivery_infooutletaddress",
|
|
1963
|
+
"name": "order.delivery_info.outlet.address",
|
|
1964
|
+
"type": "string",
|
|
1965
|
+
"description": "Адрес пункта самовывоза",
|
|
1966
|
+
"example": ""
|
|
1967
|
+
},
|
|
1968
|
+
{
|
|
1969
|
+
"id": "orderdelivery_infooutletdescription",
|
|
1970
|
+
"name": "order.delivery_info.outlet.description",
|
|
1971
|
+
"type": "string",
|
|
1972
|
+
"description": "Описание пункта самовывоза для пунктов insales доставки с картой",
|
|
1973
|
+
"example": ""
|
|
1974
|
+
},
|
|
1975
|
+
{
|
|
1976
|
+
"id": "ordermanager_comment",
|
|
1977
|
+
"name": "order.manager_comment",
|
|
1978
|
+
"type": "string",
|
|
1979
|
+
"description": "Комментарий продавца",
|
|
1980
|
+
"example": ""
|
|
1981
|
+
},
|
|
1982
|
+
{
|
|
1983
|
+
"id": "orderfirst_time_loading_page",
|
|
1984
|
+
"name": "order.first_time_loading_page?",
|
|
1985
|
+
"type": "boolean",
|
|
1986
|
+
"description": "Первая загрузка страницы (доступно только на странице успешного заказа order2.liquid). Переменная полезна для отправки аналитики по заказам.",
|
|
1987
|
+
"example": "{% if order.first_time_loading_page? %}dataLayer.push({'ecommerce': {'currencyCode': 'RUB','purchase': {'actionField': {id: '{{ order.id}}',affiliation: 'Online Store',revenue: '{{ order.total_price }}',tax: '{{ order.tax_amount }}',shipping: '{{ order.delivery_price }}',coupon: '{{ order.coupon }}'},'products': [{% for item in order.items %}{% capture products_ec %}{\"id\":\"{{item.product.id}}\",\"name\":\"{{item.product.title}}\",\"price\":\"{{item.variant.price}}\",\"category\":\"{{item.product.canonical_collection.title}}\",\"variant\":\"\",\"quantity\":{{ item.quantity }}}{% endcapture %}{{products_ec}},{% endfor %}]}},'event': 'gtm-ee-event','gtm-ee-event-category': 'Enhanced Ecommerce','gtm-ee-event-action': 'Purchase','gtm-ee-event-non-interaction': 'False',}){% endif %}"
|
|
1988
|
+
},
|
|
1989
|
+
{
|
|
1990
|
+
"id": "perebor-vseh-zakazov-mozhno-ispolzovat-dlya-vyvoda-vseh-zakazov-klienta",
|
|
1991
|
+
"name": "orders",
|
|
1992
|
+
"type": "array",
|
|
1993
|
+
"description": "Перебор всех заказов, можно использовать для вывода всех заказов клиента .",
|
|
1994
|
+
"example": "{% for order in orders %} {% for item in order.items %} {{ item.title }} {% if item.sku %} Артикул: {{ item.sku }} {% endif %} {{item.quantity}} {{ item.total_price | money }} {% endfor %} {% endfor %}"
|
|
1995
|
+
},
|
|
1996
|
+
{
|
|
1997
|
+
"id": "fielddescription",
|
|
1998
|
+
"name": "field.description",
|
|
1999
|
+
"type": "string",
|
|
2000
|
+
"description": "Описание поля",
|
|
2001
|
+
"example": ""
|
|
2002
|
+
},
|
|
2003
|
+
{
|
|
2004
|
+
"id": "fieldfile_name",
|
|
2005
|
+
"name": "field.file_name",
|
|
2006
|
+
"type": "string",
|
|
2007
|
+
"description": "Имя залитого файла",
|
|
2008
|
+
"example": ""
|
|
2009
|
+
},
|
|
2010
|
+
{
|
|
2011
|
+
"id": "fieldfor_buyer",
|
|
2012
|
+
"name": "field.for_buyer?",
|
|
2013
|
+
"type": "boolean",
|
|
2014
|
+
"description": "Показывается ли клиенту",
|
|
2015
|
+
"example": ""
|
|
2016
|
+
},
|
|
2017
|
+
{
|
|
2018
|
+
"id": "fieldis_file",
|
|
2019
|
+
"name": "field.is_file?",
|
|
2020
|
+
"type": "boolean",
|
|
2021
|
+
"description": "Является ли поле, полем для файла",
|
|
2022
|
+
"example": ""
|
|
2023
|
+
},
|
|
2024
|
+
{
|
|
2025
|
+
"id": "fieldobligatory",
|
|
2026
|
+
"name": "field.obligatory?",
|
|
2027
|
+
"type": "boolean",
|
|
2028
|
+
"description": "Обязательное ли поле",
|
|
2029
|
+
"example": ""
|
|
2030
|
+
},
|
|
2031
|
+
{
|
|
2032
|
+
"id": "fieldoffice_title",
|
|
2033
|
+
"name": "field.office_title",
|
|
2034
|
+
"type": "string",
|
|
2035
|
+
"description": "Название поля в бэк офисе",
|
|
2036
|
+
"example": ""
|
|
2037
|
+
},
|
|
2038
|
+
{
|
|
2039
|
+
"id": "fieldtitle",
|
|
2040
|
+
"name": "field.title",
|
|
2041
|
+
"type": "string",
|
|
2042
|
+
"description": "Название поля для клиента",
|
|
2043
|
+
"example": ""
|
|
2044
|
+
},
|
|
2045
|
+
{
|
|
2046
|
+
"id": "fieldtype",
|
|
2047
|
+
"name": "field.type",
|
|
2048
|
+
"type": "string",
|
|
2049
|
+
"description": "Тип поля file_field - загрузка файла text_area - текстовое многострочное поле select - выпадающий список checkbox - чекбокс text_field -текстовое поле obligatory_text_field - обязательно текстовое поле(системный тип для поля \"Контактное лицо\") system_text_field - текстовые поля первоначально введенные в бэк офис. system_checkbox - чекбокс первоначально введенный в бэк офис(первоначально - Подписка) phone - телефон country - страна kladr - Комплексная форма для ввода адреса.",
|
|
2050
|
+
"example": ""
|
|
2051
|
+
},
|
|
2052
|
+
{
|
|
2053
|
+
"id": "fieldvalue",
|
|
2054
|
+
"name": "field.value",
|
|
2055
|
+
"type": "string",
|
|
2056
|
+
"description": "Значение поля",
|
|
2057
|
+
"example": ""
|
|
2058
|
+
},
|
|
2059
|
+
{
|
|
2060
|
+
"id": "ofieldinput",
|
|
2061
|
+
"name": "field.input",
|
|
2062
|
+
"type": "html",
|
|
2063
|
+
"description": "Сам input поля для вывода в шаблон корзины",
|
|
2064
|
+
"example": ""
|
|
2065
|
+
},
|
|
2066
|
+
{
|
|
2067
|
+
"id": "first_time_loading_page",
|
|
2068
|
+
"name": "first_time_loading_page",
|
|
2069
|
+
"type": "boolean",
|
|
2070
|
+
"description": "Первая загрузка страницы (доступно только на странице успешного заказа). Переменная полезна для отправки аналитики по заказам. Работает только в разделе бек-офиса (Счетчики и коды).",
|
|
2071
|
+
"example": ""
|
|
2072
|
+
},
|
|
2073
|
+
{
|
|
2074
|
+
"id": "ordermanagerid",
|
|
2075
|
+
"name": "order.manager.id",
|
|
2076
|
+
"type": "unknown",
|
|
2077
|
+
"description": "ID менеджера",
|
|
2078
|
+
"example": ""
|
|
2079
|
+
},
|
|
2080
|
+
{
|
|
2081
|
+
"id": "ordermanagername",
|
|
2082
|
+
"name": "order.manager.name",
|
|
2083
|
+
"type": "unknown",
|
|
2084
|
+
"description": "Имя менеджера",
|
|
2085
|
+
"example": ""
|
|
2086
|
+
},
|
|
2087
|
+
{
|
|
2088
|
+
"id": "ordermanageremail",
|
|
2089
|
+
"name": "order.manager.email",
|
|
2090
|
+
"type": "unknown",
|
|
2091
|
+
"description": "E-mail менеджера",
|
|
2092
|
+
"example": ""
|
|
2093
|
+
}
|
|
2094
|
+
]
|
|
2095
|
+
},
|
|
2096
|
+
{
|
|
2097
|
+
"id": "collection--client",
|
|
2098
|
+
"name": "client",
|
|
2099
|
+
"description": "",
|
|
2100
|
+
"variables": [
|
|
2101
|
+
{
|
|
2102
|
+
"id": "client_grouptitle",
|
|
2103
|
+
"name": "client_group.title",
|
|
2104
|
+
"type": "string",
|
|
2105
|
+
"description": "Имя группы к которой принадлежит залогиненый клиент. Список групп можно посмотреть в бэк-офисе в разделе клиенты",
|
|
2106
|
+
"example": "{% if client_group.title == 'Оптовики' %} Контент для пользователей группы \"Оптовики\"{% endif %}"
|
|
2107
|
+
},
|
|
2108
|
+
{
|
|
2109
|
+
"id": "client_groupid",
|
|
2110
|
+
"name": "client_group.id",
|
|
2111
|
+
"type": "number",
|
|
2112
|
+
"description": "id группы к которой принадлежит залогиненый клиент.",
|
|
2113
|
+
"example": ""
|
|
2114
|
+
},
|
|
2115
|
+
{
|
|
2116
|
+
"id": "client_groupdiscount",
|
|
2117
|
+
"name": "client_group.discount",
|
|
2118
|
+
"type": "number",
|
|
2119
|
+
"description": "скидка группы к которой принадлежит залогиненый клиент",
|
|
2120
|
+
"example": ""
|
|
2121
|
+
},
|
|
2122
|
+
{
|
|
2123
|
+
"id": "client_groupdiscount_description",
|
|
2124
|
+
"name": "client_group.discount_description",
|
|
2125
|
+
"type": "string",
|
|
2126
|
+
"description": "описание скидки группы к которой принадлежит залогиненый клиент",
|
|
2127
|
+
"example": ""
|
|
2128
|
+
},
|
|
2129
|
+
{
|
|
2130
|
+
"id": "client",
|
|
2131
|
+
"name": "client",
|
|
2132
|
+
"type": "boolean",
|
|
2133
|
+
"description": "По клиенту нельзя выводить его персональную информацию, только факт того, что клиент залогинен",
|
|
2134
|
+
"example": "{% if client %}\nИнформация для клиентов\n{% endif %}"
|
|
2135
|
+
},
|
|
2136
|
+
{
|
|
2137
|
+
"id": "clientbonus_points",
|
|
2138
|
+
"name": "client.bonus_points",
|
|
2139
|
+
"type": "unknown",
|
|
2140
|
+
"description": "Общее число бонусов у клиента",
|
|
2141
|
+
"example": ""
|
|
2142
|
+
}
|
|
2143
|
+
]
|
|
2144
|
+
},
|
|
2145
|
+
{
|
|
2146
|
+
"id": "collection--paginate",
|
|
2147
|
+
"name": "Paginate",
|
|
2148
|
+
"description": "",
|
|
2149
|
+
"variables": [
|
|
2150
|
+
{
|
|
2151
|
+
"id": "paginatecurrent_page",
|
|
2152
|
+
"name": "paginate.current_page",
|
|
2153
|
+
"type": "number",
|
|
2154
|
+
"description": "Возвращает номер текущей страницы.",
|
|
2155
|
+
"example": ""
|
|
2156
|
+
},
|
|
2157
|
+
{
|
|
2158
|
+
"id": "paginatecurrent_offset",
|
|
2159
|
+
"name": "paginate.current_offset",
|
|
2160
|
+
"type": "number",
|
|
2161
|
+
"description": "Возвращает общее количество элементов, которые находятся на страницах, предшествующих текущему. Например, если вы постраничного на 5 и на третьей странице, paginate.current_offset вернется 10.",
|
|
2162
|
+
"example": ""
|
|
2163
|
+
},
|
|
2164
|
+
{
|
|
2165
|
+
"id": "paginateitems",
|
|
2166
|
+
"name": "paginate.items",
|
|
2167
|
+
"type": "number",
|
|
2168
|
+
"description": "Возвращает общее количество элементов, которые будут пронумерованы. Например, если вы постраничного коллекцию из 99 продуктов, paginate.items возвратит 99.",
|
|
2169
|
+
"example": ""
|
|
2170
|
+
},
|
|
2171
|
+
{
|
|
2172
|
+
"id": "paginateparts",
|
|
2173
|
+
"name": "paginate.parts",
|
|
2174
|
+
"type": "array",
|
|
2175
|
+
"description": "Возвращает массив всех частей пагинации.",
|
|
2176
|
+
"example": "{% for part in paginate.parts %} {% if part.is_link %} {{ part.title }} {% else %} {% if part.title == paginate['current_page'] %} {{ part.title }} {% else %} {{ part.title }} {% endif %} {% endif %}{% endfor %}"
|
|
2177
|
+
},
|
|
2178
|
+
{
|
|
2179
|
+
"id": "paginateprevious",
|
|
2180
|
+
"name": "paginate.previous.url",
|
|
2181
|
+
"type": "string",
|
|
2182
|
+
"description": "Возвращает ссылку на предыдущую страницу пагинации.",
|
|
2183
|
+
"example": ""
|
|
2184
|
+
},
|
|
2185
|
+
{
|
|
2186
|
+
"id": "paginatenexturl",
|
|
2187
|
+
"name": "paginate.next.url",
|
|
2188
|
+
"type": "string",
|
|
2189
|
+
"description": "Возвращает ссылку на следущую страницу пагинации.",
|
|
2190
|
+
"example": ""
|
|
2191
|
+
},
|
|
2192
|
+
{
|
|
2193
|
+
"id": "paginatepage_size",
|
|
2194
|
+
"name": "paginate.page_size",
|
|
2195
|
+
"type": "string",
|
|
2196
|
+
"description": "Возвращает количество элементов, отображаемых на одной странице.",
|
|
2197
|
+
"example": ""
|
|
2198
|
+
},
|
|
2199
|
+
{
|
|
2200
|
+
"id": "paginatepages",
|
|
2201
|
+
"name": "paginate.pages",
|
|
2202
|
+
"type": "number",
|
|
2203
|
+
"description": "Возвращает количество страниц, созданных пагинацией.",
|
|
2204
|
+
"example": ""
|
|
2205
|
+
}
|
|
2206
|
+
]
|
|
2207
|
+
},
|
|
2208
|
+
{
|
|
2209
|
+
"id": "collection--account",
|
|
2210
|
+
"name": "account",
|
|
2211
|
+
"description": "",
|
|
2212
|
+
"variables": [
|
|
2213
|
+
{
|
|
2214
|
+
"id": "accountphone",
|
|
2215
|
+
"name": "account.phone",
|
|
2216
|
+
"type": "string",
|
|
2217
|
+
"description": "Телефон из настроек аккаунта.",
|
|
2218
|
+
"example": ""
|
|
2219
|
+
},
|
|
2220
|
+
{
|
|
2221
|
+
"id": "accounttitle",
|
|
2222
|
+
"name": "account.title",
|
|
2223
|
+
"type": "string",
|
|
2224
|
+
"description": "Название интернет-магазина из настроек аккаунта.",
|
|
2225
|
+
"example": ""
|
|
2226
|
+
},
|
|
2227
|
+
{
|
|
2228
|
+
"id": "accountemail",
|
|
2229
|
+
"name": "account.email",
|
|
2230
|
+
"type": "string",
|
|
2231
|
+
"description": "e-mail магазина",
|
|
2232
|
+
"example": ""
|
|
2233
|
+
},
|
|
2234
|
+
{
|
|
2235
|
+
"id": "accounturl",
|
|
2236
|
+
"name": "account.url",
|
|
2237
|
+
"type": "string",
|
|
2238
|
+
"description": "url, используемый для перехода в бекофис из письма.",
|
|
2239
|
+
"example": ""
|
|
2240
|
+
},
|
|
2241
|
+
{
|
|
2242
|
+
"id": "accounticq",
|
|
2243
|
+
"name": "account.icq",
|
|
2244
|
+
"type": "string",
|
|
2245
|
+
"description": "Номер ICQ из настроек аккаунта.",
|
|
2246
|
+
"example": ""
|
|
2247
|
+
},
|
|
2248
|
+
{
|
|
2249
|
+
"id": "accountreviews_enabled",
|
|
2250
|
+
"name": "account.reviews_enabled?",
|
|
2251
|
+
"type": "boolean",
|
|
2252
|
+
"description": "флаг указывающий включены отзывы на товар или нет",
|
|
2253
|
+
"example": ""
|
|
2254
|
+
},
|
|
2255
|
+
{
|
|
2256
|
+
"id": "accountreviews_moderated",
|
|
2257
|
+
"name": "account.reviews_moderated?",
|
|
2258
|
+
"type": "boolean",
|
|
2259
|
+
"description": "флаг указывающий включена ли модерация отзывов на товары или нет",
|
|
2260
|
+
"example": ""
|
|
2261
|
+
},
|
|
2262
|
+
{
|
|
2263
|
+
"id": "accountenable_clients",
|
|
2264
|
+
"name": "account.enable_clients?",
|
|
2265
|
+
"type": "boolean",
|
|
2266
|
+
"description": "флаг указывающий доступен ли на текущем тарифе личный кабинет покупателя",
|
|
2267
|
+
"example": ""
|
|
2268
|
+
},
|
|
2269
|
+
{
|
|
2270
|
+
"id": "accountdelivery_variants",
|
|
2271
|
+
"name": "account.delivery_variants",
|
|
2272
|
+
"type": "object",
|
|
2273
|
+
"description": "массив всех способов доставки",
|
|
2274
|
+
"example": "{% for delivery_variant in account.delivery_variants %}Id способа доставки - {{delivery_variant.id}}Название способа доставки - {{delivery_variant.title}}Стоимость - {{delivery_variant.price}}Описание - {{delivery_variant.description}}Бесплатно при заказе от - {{delivery_variant.charge_up_to}}{% endfor %}"
|
|
2275
|
+
},
|
|
2276
|
+
{
|
|
2277
|
+
"id": "accountpayment_gateways",
|
|
2278
|
+
"name": "account.payment_gateways",
|
|
2279
|
+
"type": "object",
|
|
2280
|
+
"description": "массив всех способов оплаты",
|
|
2281
|
+
"example": ""
|
|
2282
|
+
},
|
|
2283
|
+
{
|
|
2284
|
+
"id": "accountenable_comparison",
|
|
2285
|
+
"name": "account.enable_comparison?",
|
|
2286
|
+
"type": "boolean",
|
|
2287
|
+
"description": "Включено ли сравнение?",
|
|
2288
|
+
"example": ""
|
|
2289
|
+
},
|
|
2290
|
+
{
|
|
2291
|
+
"id": "accountbonus_systembonus_percent",
|
|
2292
|
+
"name": "account.bonus_system.bonus_percent",
|
|
2293
|
+
"type": "string",
|
|
2294
|
+
"description": "Бонусный процент",
|
|
2295
|
+
"example": ""
|
|
2296
|
+
},
|
|
2297
|
+
{
|
|
2298
|
+
"id": "accountbonus_systemmax_discount",
|
|
2299
|
+
"name": "account.bonus_system.max_discount",
|
|
2300
|
+
"type": "string",
|
|
2301
|
+
"description": "Максимальная скидка",
|
|
2302
|
+
"example": ""
|
|
2303
|
+
},
|
|
2304
|
+
{
|
|
2305
|
+
"id": "accountbonus_systemratio",
|
|
2306
|
+
"name": "account.bonus_system.ratio",
|
|
2307
|
+
"type": "string",
|
|
2308
|
+
"description": "Коэффициент конвертации денег в баллы и наоборот. Например, если коэффициент = 2, то 1р. = 2 балла",
|
|
2309
|
+
"example": ""
|
|
2310
|
+
},
|
|
2311
|
+
{
|
|
2312
|
+
"id": "accountbonus_systemregistration_bonus",
|
|
2313
|
+
"name": "account.bonus_system.registration_bonus",
|
|
2314
|
+
"type": "string",
|
|
2315
|
+
"description": "Бонус за регистрацию",
|
|
2316
|
+
"example": ""
|
|
2317
|
+
},
|
|
2318
|
+
{
|
|
2319
|
+
"id": "accountbonus_system",
|
|
2320
|
+
"name": "account.bonus_system",
|
|
2321
|
+
"type": "object",
|
|
2322
|
+
"description": "Бонус InSales",
|
|
2323
|
+
"example": "{% if account.bonus_system %}Бонусная система включена{% else %}Бонусная система отключена{% endif %}"
|
|
2324
|
+
},
|
|
2325
|
+
{
|
|
2326
|
+
"id": "accountsubdomain",
|
|
2327
|
+
"name": "account.subdomain",
|
|
2328
|
+
"type": "string",
|
|
2329
|
+
"description": "Имя поддомена, например shop-42497",
|
|
2330
|
+
"example": ""
|
|
2331
|
+
},
|
|
2332
|
+
{
|
|
2333
|
+
"id": "accounthide_items_out_of_stock",
|
|
2334
|
+
"name": "account.hide_items_out_of_stock",
|
|
2335
|
+
"type": "boolean",
|
|
2336
|
+
"description": "Состояние настройки - \"Не показывать товар, если у него нулевой остаток\"",
|
|
2337
|
+
"example": ""
|
|
2338
|
+
},
|
|
2339
|
+
{
|
|
2340
|
+
"id": "accountorder_line_comments_enabled",
|
|
2341
|
+
"name": "account.order_line_comments_enabled",
|
|
2342
|
+
"type": "boolean",
|
|
2343
|
+
"description": "Состояние настройки - \"Включить комментарии к позициям заказа\"",
|
|
2344
|
+
"example": "В форме товара:\n{% if account.order_line_comments_enabled %}{% endif %}\nВ форме корзины\n{% if account.order_line_comments_enabled %}{% endif %}"
|
|
2345
|
+
},
|
|
2346
|
+
{
|
|
2347
|
+
"id": "accountcurrency_code",
|
|
2348
|
+
"name": "account.currency_code",
|
|
2349
|
+
"type": "string",
|
|
2350
|
+
"description": "Код валюты",
|
|
2351
|
+
"example": "{%- if template contains 'product' -%}{%- assign product_description = product.description | json -%}{%- unless product.description -%}{%- assign product_description = product.short_description | json -%}{%- endunless -%}{ \"@context\": \"https://schema.org/\", \"@type\": \"Product\", \"name\": \"{{ product.title }}\", \"image\": \"{{ product.images.first.original_url }}\", \"description\": {{ product_description }}, \"brand\": \"{{ product.properties.brend.characteristics.first.name }}\", \"sku\": \"{{ product.sku }}\", \"offers\": { \"@type\": \"AggregateOffer\", \"lowPrice\": \"{{ product.price_min }}\", \"highPrice\": \"{{ product.price_max }}\", \"priceCurrency\": \"{{ account.currency_code }}\", \"offerCount\": \"{{ product.variants.size }}\", \"offers\": [ {%- for variant in product.variants -%} { \"@type\": \"Offer\", \"url\": \"{{ product.url }}\", \"priceCurrency\": \"{{ account.currency_code }}\", \"price\": \"{{ variant.price }}\", \"sku\": \"{{ variant.id }}\", \"availability\": \"https://schema.org/{% if variant.available %}InStock{% else %}OutOfStock{% endif %}\" }{% unless forloop.last %},{% endunless %} {%- endfor -%} ] } {%- if product.rating -%}, \"aggregateRating\": { \"@type\": \"AggregateRating\", \"ratingValue\": \"{{ product.rating }}\", \"worstRating\": \"1\", \"bestRating\": \"5\", \"ratingCount\": \"{{ product.reviews_count }}\", \"reviewCount\": \"{{ product.reviews_count }}\" }, \"review\": [ {%- for review in product.reviews -%} { \"@type\": \"Review\", \"name\": \"{{ product.title }}\", \"reviewBody\": \"{{ review.content | escape }}\", \"reviewRating\": { \"@type\": \"Rating\", \"ratingValue\": \"{% if review.rating %}{{ review.rating }}{% else %}5{% endif %}\", \"bestRating\": \"5\", \"worstRating\": \"1\" }, \"datePublished\": \"{{ review.created_at | date: \"%Y-%m-%d\" }}\", \"author\": {\"@type\": \"Person\", \"name\": \"{{ review.author }}\"} }{% unless forloop.last %},{% endunless %} {%- endfor -%} ] {%- endif -%}}{%- endif -%}"
|
|
2352
|
+
},
|
|
2353
|
+
{
|
|
2354
|
+
"id": "accountforbid_order_over_existing",
|
|
2355
|
+
"name": "account.forbid_order_over_existing",
|
|
2356
|
+
"type": "boolean",
|
|
2357
|
+
"description": "Значении настройки \"Запретить заказывать больше, чем есть в наличии\"",
|
|
2358
|
+
"example": ""
|
|
2359
|
+
},
|
|
2360
|
+
{
|
|
2361
|
+
"id": "accountminimum_items_price",
|
|
2362
|
+
"name": "account.minimum_items_price",
|
|
2363
|
+
"type": "unknown",
|
|
2364
|
+
"description": "Минимально разрешённая сумма заказа.",
|
|
2365
|
+
"example": ""
|
|
2366
|
+
},
|
|
2367
|
+
{
|
|
2368
|
+
"id": "allow_change_site_currency",
|
|
2369
|
+
"name": "allow_change_site_currency",
|
|
2370
|
+
"type": "boolean",
|
|
2371
|
+
"description": "Доступно переключение валюты на странице?",
|
|
2372
|
+
"example": ""
|
|
2373
|
+
},
|
|
2374
|
+
{
|
|
2375
|
+
"id": "accountsite_currencies",
|
|
2376
|
+
"name": "account.site_currencies",
|
|
2377
|
+
"type": "array",
|
|
2378
|
+
"description": "Валюты на сайте",
|
|
2379
|
+
"example": ""
|
|
2380
|
+
},
|
|
2381
|
+
{
|
|
2382
|
+
"id": "accountreviews",
|
|
2383
|
+
"name": "account.reviews",
|
|
2384
|
+
"type": "array",
|
|
2385
|
+
"description": "Отзывы со всех товаров в магазине",
|
|
2386
|
+
"example": "{% for item in account.reviews %}\n{{ item.author }}\n{{item.created_at}}\n{{item.content}}\n{% endfor %}"
|
|
2387
|
+
},
|
|
2388
|
+
{
|
|
2389
|
+
"id": "accountreviews_not_spam",
|
|
2390
|
+
"name": "account.reviews_not_spam",
|
|
2391
|
+
"type": "array",
|
|
2392
|
+
"description": "Отзывы со всех товаров в магазине без спама",
|
|
2393
|
+
"example": ""
|
|
2394
|
+
},
|
|
2395
|
+
{
|
|
2396
|
+
"id": "accountreviews_spam",
|
|
2397
|
+
"name": "account.reviews_spam",
|
|
2398
|
+
"type": "array",
|
|
2399
|
+
"description": "Отзывы со всех товаров в магазине только с пометкой спам",
|
|
2400
|
+
"example": ""
|
|
2401
|
+
},
|
|
2402
|
+
{
|
|
2403
|
+
"id": "accountquick_checkoutenabled",
|
|
2404
|
+
"name": "account.quick_checkout.enabled",
|
|
2405
|
+
"type": "boolean",
|
|
2406
|
+
"description": "включен ли заказ в один клик",
|
|
2407
|
+
"example": ""
|
|
2408
|
+
},
|
|
2409
|
+
{
|
|
2410
|
+
"id": "accountquick_checkoutauto_activate",
|
|
2411
|
+
"name": "account.quick_checkout.auto_activate",
|
|
2412
|
+
"type": "boolean",
|
|
2413
|
+
"description": "заказ в один клик в автоматическом режиме",
|
|
2414
|
+
"example": ""
|
|
2415
|
+
},
|
|
2416
|
+
{
|
|
2417
|
+
"id": "accounequick_checkoutdialog_title",
|
|
2418
|
+
"name": "account.quick_checkout.dialog_title",
|
|
2419
|
+
"type": "string",
|
|
2420
|
+
"description": "заголовок диалогового окна",
|
|
2421
|
+
"example": ""
|
|
2422
|
+
},
|
|
2423
|
+
{
|
|
2424
|
+
"id": "accountquick_checkoutbutton_title",
|
|
2425
|
+
"name": "account.quick_checkout.button_title",
|
|
2426
|
+
"type": "string",
|
|
2427
|
+
"description": "название кнопки подтвердить заказ",
|
|
2428
|
+
"example": ""
|
|
2429
|
+
},
|
|
2430
|
+
{
|
|
2431
|
+
"id": "accountquick_checkoutsuccess_notification",
|
|
2432
|
+
"name": "account.quick_checkout.success_notification",
|
|
2433
|
+
"type": "string",
|
|
2434
|
+
"description": "сообщение об успешном оформлении заказа",
|
|
2435
|
+
"example": ""
|
|
2436
|
+
},
|
|
2437
|
+
{
|
|
2438
|
+
"id": "social_net_profiles",
|
|
2439
|
+
"name": "social_net_profiles",
|
|
2440
|
+
"type": "array",
|
|
2441
|
+
"description": "Профили в соцсетях",
|
|
2442
|
+
"example": "{% for social_net in account.social_net_profiles %} {% endfor %}\nДоступные варианты для network_name следующие: [vkontakte facebook instagram youtube twitter odnoklassniki telegram mail_ru]"
|
|
2443
|
+
},
|
|
2444
|
+
{
|
|
2445
|
+
"id": "accountwarehouses",
|
|
2446
|
+
"name": "account.warehouses",
|
|
2447
|
+
"type": "array",
|
|
2448
|
+
"description": "Массив складов",
|
|
2449
|
+
"example": ""
|
|
2450
|
+
},
|
|
2451
|
+
{
|
|
2452
|
+
"id": "warehousid",
|
|
2453
|
+
"name": "warehous.id",
|
|
2454
|
+
"type": "number",
|
|
2455
|
+
"description": "ID Склада",
|
|
2456
|
+
"example": "{% for warehous in account.warehouses %}id склада: {{ warehous.id }} \nНазвание склада: {{ warehous.title }}{% endfor %}"
|
|
2457
|
+
},
|
|
2458
|
+
{
|
|
2459
|
+
"id": "warehoustitle",
|
|
2460
|
+
"name": "warehous.title",
|
|
2461
|
+
"type": "string",
|
|
2462
|
+
"description": "Название склада",
|
|
2463
|
+
"example": "{% for warehous in account.warehouses %}id склада: {{ warehous.id }} \nНазвание склада: {{ warehous.title }}{% endfor %}"
|
|
2464
|
+
}
|
|
2465
|
+
]
|
|
2466
|
+
},
|
|
2467
|
+
{
|
|
2468
|
+
"id": "collection--helpers-2",
|
|
2469
|
+
"name": "helpers",
|
|
2470
|
+
"description": "",
|
|
2471
|
+
"variables": [
|
|
2472
|
+
{
|
|
2473
|
+
"id": "forlooplength",
|
|
2474
|
+
"name": "forloop.length",
|
|
2475
|
+
"type": "number",
|
|
2476
|
+
"description": "количество элементов в массиве",
|
|
2477
|
+
"example": ""
|
|
2478
|
+
},
|
|
2479
|
+
{
|
|
2480
|
+
"id": "forloopindex",
|
|
2481
|
+
"name": "forloop.index",
|
|
2482
|
+
"type": "number",
|
|
2483
|
+
"description": "номер текущей итерации",
|
|
2484
|
+
"example": ""
|
|
2485
|
+
},
|
|
2486
|
+
{
|
|
2487
|
+
"id": "forloopindex0",
|
|
2488
|
+
"name": "forloop.index0",
|
|
2489
|
+
"type": "number",
|
|
2490
|
+
"description": "номер текущей итерации (считая от нуля)",
|
|
2491
|
+
"example": ""
|
|
2492
|
+
},
|
|
2493
|
+
{
|
|
2494
|
+
"id": "forlooprindex",
|
|
2495
|
+
"name": "forloop.rindex",
|
|
2496
|
+
"type": "number",
|
|
2497
|
+
"description": "сколько элементов осталось",
|
|
2498
|
+
"example": ""
|
|
2499
|
+
},
|
|
2500
|
+
{
|
|
2501
|
+
"id": "forlooprindex-2",
|
|
2502
|
+
"name": "forloop.rindex0",
|
|
2503
|
+
"type": "number",
|
|
2504
|
+
"description": "сколько элементов осталось (считая от нуля)",
|
|
2505
|
+
"example": ""
|
|
2506
|
+
},
|
|
2507
|
+
{
|
|
2508
|
+
"id": "forloopfirst",
|
|
2509
|
+
"name": "forloop.first",
|
|
2510
|
+
"type": "boolean",
|
|
2511
|
+
"description": "первая итерация?",
|
|
2512
|
+
"example": ""
|
|
2513
|
+
},
|
|
2514
|
+
{
|
|
2515
|
+
"id": "forlooplast",
|
|
2516
|
+
"name": "forloop.last",
|
|
2517
|
+
"type": "boolean",
|
|
2518
|
+
"description": "последняя итерация?",
|
|
2519
|
+
"example": ""
|
|
2520
|
+
},
|
|
2521
|
+
{
|
|
2522
|
+
"id": "image",
|
|
2523
|
+
"name": "image",
|
|
2524
|
+
"type": "object",
|
|
2525
|
+
"description": "Изображение товаров/коллекций/статей. Доступные поля: image.title - Возвращает описание картинки image.file_name - Возвращает название файла картинки image.small_url - 48x48 image.thumb_url - 100x100 image.compact_url - 240x240 image.large_url - 480x480 image.original_url - original image",
|
|
2526
|
+
"example": ""
|
|
2527
|
+
}
|
|
2528
|
+
]
|
|
2529
|
+
},
|
|
2530
|
+
{
|
|
2531
|
+
"id": "collection--filtry-liquid",
|
|
2532
|
+
"name": "Фильтры liquid",
|
|
2533
|
+
"description": "",
|
|
2534
|
+
"variables": [
|
|
2535
|
+
{
|
|
2536
|
+
"id": "size",
|
|
2537
|
+
"name": "size",
|
|
2538
|
+
"type": "unknown",
|
|
2539
|
+
"description": "Возвращает длинну массива",
|
|
2540
|
+
"example": "{% assign string = 'wooden, deepsnow, season2006' %}{% assign array = string | split: ', ' | reverse %}{{ array | size }}#=> 3"
|
|
2541
|
+
},
|
|
2542
|
+
{
|
|
2543
|
+
"id": "first",
|
|
2544
|
+
"name": "first",
|
|
2545
|
+
"type": "unknown",
|
|
2546
|
+
"description": "Фильтр возвращает первый элемент из массива",
|
|
2547
|
+
"example": "{% assign string = 'wooden, deepsnow, season2006' %}{% assign array = string | split: ', '%}{{ array | first }}#=> wooden"
|
|
2548
|
+
},
|
|
2549
|
+
{
|
|
2550
|
+
"id": "last",
|
|
2551
|
+
"name": "last",
|
|
2552
|
+
"type": "unknown",
|
|
2553
|
+
"description": "Фильтр возвращает последний элемент из массива",
|
|
2554
|
+
"example": "{% assign string = 'wooden, deepsnow, season2006' %}{% assign array = string | split: ', '%}{{ array | last }}#=> season2006"
|
|
2555
|
+
},
|
|
2556
|
+
{
|
|
2557
|
+
"id": "split",
|
|
2558
|
+
"name": "split",
|
|
2559
|
+
"type": "unknown",
|
|
2560
|
+
"description": "Разбивает строку на массив подстрок по указанному разделителю",
|
|
2561
|
+
"example": "{% assign string = 'wooden, deepsnow, season2006' %}{% assign array = string | split: ', '%}{{array[0]}} #=> wooden"
|
|
2562
|
+
},
|
|
2563
|
+
{
|
|
2564
|
+
"id": "join",
|
|
2565
|
+
"name": "join",
|
|
2566
|
+
"type": "unknown",
|
|
2567
|
+
"description": "Фильтр объединяет массив в строку, используя как разделитель элементов указанную последовательность символов.",
|
|
2568
|
+
"example": "{% assign my_string = 'wooden, deepsnow, season2006' %}{% assign my_array = my_string | split: ', '%}{{ my_array | join: ', ' }}#=> wooden, deepsnow, season2006"
|
|
2569
|
+
},
|
|
2570
|
+
{
|
|
2571
|
+
"id": "reverse",
|
|
2572
|
+
"name": "reverse",
|
|
2573
|
+
"type": "unknown",
|
|
2574
|
+
"description": "Меняет порядок элементов в массиве.",
|
|
2575
|
+
"example": "{% assign string = 'wooden, deepsnow, season2006' %}{% assign array = string | split: ', ' | reverse %}{{ array | first }}#=> season2006{{ array | last }}#=> wooden"
|
|
2576
|
+
},
|
|
2577
|
+
{
|
|
2578
|
+
"id": "sort",
|
|
2579
|
+
"name": "sort",
|
|
2580
|
+
"type": "unknown",
|
|
2581
|
+
"description": "Фильтр используется для сортировки массива. Второй параметр - необязательный.",
|
|
2582
|
+
"example": "{% assign products = collection.products | sort: 'title' %}{% for product in products %} {{ product.title }}{% endfor %}\n#=> A B a b"
|
|
2583
|
+
},
|
|
2584
|
+
{
|
|
2585
|
+
"id": "map",
|
|
2586
|
+
"name": "map",
|
|
2587
|
+
"type": "unknown",
|
|
2588
|
+
"description": "Принимает атрибут элемента массива в качестве параметра и создает массив из значения каждого элемента массива.",
|
|
2589
|
+
"example": "{% assign collection_titles = collections | map: 'title' %}\n{% for collection_title in collection_titles %} {{ collection_title }},{% endfor %}\n#=> каталог1,каталог2,каталог3,"
|
|
2590
|
+
},
|
|
2591
|
+
{
|
|
2592
|
+
"id": "where",
|
|
2593
|
+
"name": "where",
|
|
2594
|
+
"type": "unknown",
|
|
2595
|
+
"description": "Отфильтровать массив по полям и их значениям",
|
|
2596
|
+
"example": "{{ collections.all.products | where: \"available\", false | size }}"
|
|
2597
|
+
},
|
|
2598
|
+
{
|
|
2599
|
+
"id": "concat",
|
|
2600
|
+
"name": "concat",
|
|
2601
|
+
"type": "unknown",
|
|
2602
|
+
"description": "Объединение двух массивов в один",
|
|
2603
|
+
"example": "{% assign fruits = \"apples, oranges, peaches, tomatoes\" | split: \", \" %}{% assign vegetables = \"broccoli, carrots, lettuce, tomatoes\" | split: \", \" %}\n{% assign plants = fruits | concat: vegetables %}\n=> [\"apples\",\"oranges\",\"peaches\",\"tomatoes\",\"tomatoes\",\"broccoli\",\"carrots\",\"lettuce\",\"tomatoes\"]"
|
|
2604
|
+
},
|
|
2605
|
+
{
|
|
2606
|
+
"id": "uniq",
|
|
2607
|
+
"name": "uniq",
|
|
2608
|
+
"type": "unknown",
|
|
2609
|
+
"description": "Убирает дубли элементов массива",
|
|
2610
|
+
"example": "{% assign fruits = \"apples, oranges, peaches, tomatoes, tomatoes\" | split: \", \" | uniq | json %} \n=> [apples, oranges, peaches, tomatoes]"
|
|
2611
|
+
},
|
|
2612
|
+
{
|
|
2613
|
+
"id": "plus",
|
|
2614
|
+
"name": "plus",
|
|
2615
|
+
"type": "unknown",
|
|
2616
|
+
"description": "Фильтр возвращает результат сложения input и operand. Если это строки, то они приводятся к формату \"целое\" перед сложением.",
|
|
2617
|
+
"example": "{% assign number = 2 %}{{ number | plus: 2 }}#=> 4"
|
|
2618
|
+
},
|
|
2619
|
+
{
|
|
2620
|
+
"id": "minus",
|
|
2621
|
+
"name": "minus",
|
|
2622
|
+
"type": "unknown",
|
|
2623
|
+
"description": "Фильтр возвращает результат вычитания operand из input. Если это строки, то они приводятся к формату \"целое\" перед вычитанием.",
|
|
2624
|
+
"example": "{% assign number = 2 %}{{ number | minus: 2 }}#=> 0"
|
|
2625
|
+
},
|
|
2626
|
+
{
|
|
2627
|
+
"id": "times",
|
|
2628
|
+
"name": "times",
|
|
2629
|
+
"type": "unknown",
|
|
2630
|
+
"description": "Фильтр возвращает результат умножеия",
|
|
2631
|
+
"example": "{{ 10 | times: 2 }}#=> 20"
|
|
2632
|
+
},
|
|
2633
|
+
{
|
|
2634
|
+
"id": "divided_by",
|
|
2635
|
+
"name": "divided_by",
|
|
2636
|
+
"type": "unknown",
|
|
2637
|
+
"description": "Фильтр возвращает результат деления",
|
|
2638
|
+
"example": "{{ 10 | divided_by: 2 }} #=> 5"
|
|
2639
|
+
},
|
|
2640
|
+
{
|
|
2641
|
+
"id": "round",
|
|
2642
|
+
"name": "round",
|
|
2643
|
+
"type": "unknown",
|
|
2644
|
+
"description": "round(input, operand) Фильтр возвращает результат округления operand до input знаков после разделителя.",
|
|
2645
|
+
"example": "{{ 4.6 | round: 0 }}{{ 4.3 | round: 0 }}{{ 4.5612 | round: 2 }}#=> 5#=> 4#=> 4.56"
|
|
2646
|
+
},
|
|
2647
|
+
{
|
|
2648
|
+
"id": "modulo",
|
|
2649
|
+
"name": "modulo",
|
|
2650
|
+
"type": "unknown",
|
|
2651
|
+
"description": "Модуль числа. Возвращает остаток после деления",
|
|
2652
|
+
"example": "{{ 12 | modulo: 5 }} #=> 2"
|
|
2653
|
+
},
|
|
2654
|
+
{
|
|
2655
|
+
"id": "to_integer",
|
|
2656
|
+
"name": "to_integer",
|
|
2657
|
+
"type": "unknown",
|
|
2658
|
+
"description": "Привести строку к числу",
|
|
2659
|
+
"example": ""
|
|
2660
|
+
},
|
|
2661
|
+
{
|
|
2662
|
+
"id": "asset_url",
|
|
2663
|
+
"name": "asset_url",
|
|
2664
|
+
"type": "unknown",
|
|
2665
|
+
"description": "Возвращает ссылку на файл из темы. Если файла в теме нет, ссылка всё равно сформируется и переход по ссылке вернет 404 статус.",
|
|
2666
|
+
"example": "{{ 'shop.css' | asset_url }}=> //assets3.insales.ru/assets/1/7120/23504/v_1479117076/build/shop.css"
|
|
2667
|
+
},
|
|
2668
|
+
{
|
|
2669
|
+
"id": "asset_url_if_exists",
|
|
2670
|
+
"name": "asset_url_if_exists",
|
|
2671
|
+
"type": "unknown",
|
|
2672
|
+
"description": "Возвращает ссылку на файл из темы. Если файла в теме нет, возвращается пустая строка.",
|
|
2673
|
+
"example": "{% assign path = \"image.png\" | asset_url_if_exists %}{% if path %} {% else %} Картинка отсутствует{% endif %}"
|
|
2674
|
+
},
|
|
2675
|
+
{
|
|
2676
|
+
"id": "file_url",
|
|
2677
|
+
"name": "file_url",
|
|
2678
|
+
"type": "unknown",
|
|
2679
|
+
"description": "Фильтр формирует полный путь до файла из раздела Сайт->Файлы",
|
|
2680
|
+
"example": "{{ 'image.png' | file_url }}"
|
|
2681
|
+
},
|
|
2682
|
+
{
|
|
2683
|
+
"id": "add_param",
|
|
2684
|
+
"name": "add_param",
|
|
2685
|
+
"type": "unknown",
|
|
2686
|
+
"description": "Добавить гет параметр к ссылке",
|
|
2687
|
+
"example": ""
|
|
2688
|
+
},
|
|
2689
|
+
{
|
|
2690
|
+
"id": "locale_url",
|
|
2691
|
+
"name": "locale_url",
|
|
2692
|
+
"type": "unknown",
|
|
2693
|
+
"description": "Фильтр преобразует URL с учетом текущего языка",
|
|
2694
|
+
"example": ""
|
|
2695
|
+
},
|
|
2696
|
+
{
|
|
2697
|
+
"id": "money",
|
|
2698
|
+
"name": "money",
|
|
2699
|
+
"type": "unknown",
|
|
2700
|
+
"description": "Добавляет символ валюты к числу. В соответствии с настройками в бэк-офисе. Посмотреть или изменить настройки можно тут: Настройки -> Настройки магазина -> Валюты Фильтр обрабатывает только цифры.",
|
|
2701
|
+
"example": "{{ product.price | money }}\n#=> 1 000 руб.\n{{ 1000 | money }}\n#=> 1 000 руб."
|
|
2702
|
+
},
|
|
2703
|
+
{
|
|
2704
|
+
"id": "append",
|
|
2705
|
+
"name": "append",
|
|
2706
|
+
"type": "unknown",
|
|
2707
|
+
"description": "Добавить символы к концу строки",
|
|
2708
|
+
"example": "{{ 'sales' | append: '.jpg' }}#=> sales.jpg"
|
|
2709
|
+
},
|
|
2710
|
+
{
|
|
2711
|
+
"id": "prepend",
|
|
2712
|
+
"name": "prepend",
|
|
2713
|
+
"type": "unknown",
|
|
2714
|
+
"description": "Добавить символы к началу строки",
|
|
2715
|
+
"example": "{{ 'sale' | prepend: 'Made a great ' }}\n#=> Made a great sale"
|
|
2716
|
+
},
|
|
2717
|
+
{
|
|
2718
|
+
"id": "capitalize",
|
|
2719
|
+
"name": "capitalize",
|
|
2720
|
+
"type": "unknown",
|
|
2721
|
+
"description": "Фильтр используется для преобразования первой буквы строки в заглавную",
|
|
2722
|
+
"example": "{{ 'capitalize me' | capitalize }}#=> Capitalize me"
|
|
2723
|
+
},
|
|
2724
|
+
{
|
|
2725
|
+
"id": "replace",
|
|
2726
|
+
"name": "replace",
|
|
2727
|
+
"type": "unknown",
|
|
2728
|
+
"description": "Заменяет все вхождения строки с подстроки.",
|
|
2729
|
+
"example": "{{ product.title | replace: 'Awesome', 'Mega' }}\n#=> Mega Shoes"
|
|
2730
|
+
},
|
|
2731
|
+
{
|
|
2732
|
+
"id": "upcase",
|
|
2733
|
+
"name": "upcase",
|
|
2734
|
+
"type": "unknown",
|
|
2735
|
+
"description": "Фильтр преобразовывает строку к верхнему регистру.",
|
|
2736
|
+
"example": "{{ 'i want this to be uppercase' | upcase }}#=> I WANT THIS TO BE UPPERCASE"
|
|
2737
|
+
},
|
|
2738
|
+
{
|
|
2739
|
+
"id": "downcase",
|
|
2740
|
+
"name": "downcase",
|
|
2741
|
+
"type": "unknown",
|
|
2742
|
+
"description": "Фильтр преобразовывает строку к нижнему регистру.",
|
|
2743
|
+
"example": "{{ 'UPPERCASE' | downcase }}#=> uppercase"
|
|
2744
|
+
},
|
|
2745
|
+
{
|
|
2746
|
+
"id": "escape",
|
|
2747
|
+
"name": "escape",
|
|
2748
|
+
"type": "unknown",
|
|
2749
|
+
"description": "Фильтр используется для преобразовывания специальных html символов",
|
|
2750
|
+
"example": "{{ \"test \" | escape }}#=> <p>test</p> <div class='block'></div>"
|
|
2751
|
+
},
|
|
2752
|
+
{
|
|
2753
|
+
"id": "newline_to_br",
|
|
2754
|
+
"name": "newline_to_br",
|
|
2755
|
+
"type": "unknown",
|
|
2756
|
+
"description": "Фильтр добавляет тег конца строки перед каждым служебным символом \"Новая строка\" (символ, обозначаемый NL, \\n, имеющий код 0ah).",
|
|
2757
|
+
"example": "{% capture var %}OneTwoThree{% endcapture %}{{ var | newline_to_br }}\n#=>\nOne \nTwo\nThree"
|
|
2758
|
+
},
|
|
2759
|
+
{
|
|
2760
|
+
"id": "strip_html",
|
|
2761
|
+
"name": "strip_html",
|
|
2762
|
+
"type": "unknown",
|
|
2763
|
+
"description": "Этот фильтр изымает из указанного текста все HTML-теги. Очень эффективен в сочетании с truncate.",
|
|
2764
|
+
"example": "{{ 'Текст в теге новая строка' | strip_html | truncate: 20 }}\n>> Текст в теге нов..."
|
|
2765
|
+
},
|
|
2766
|
+
{
|
|
2767
|
+
"id": "md5",
|
|
2768
|
+
"name": "md5",
|
|
2769
|
+
"type": "unknown",
|
|
2770
|
+
"description": "Преобразует строку в MD5 хеш.",
|
|
2771
|
+
"example": "{{ 'test md5' | md5 }}\n#=> 0e4e3b2681e8931c067a23c583c878d5"
|
|
2772
|
+
},
|
|
2773
|
+
{
|
|
2774
|
+
"id": "remove",
|
|
2775
|
+
"name": "remove",
|
|
2776
|
+
"type": "unknown",
|
|
2777
|
+
"description": "Удаляет все вхождения подстроки из строки.",
|
|
2778
|
+
"example": "{{ \"Hello, world. Goodbye, world.\" | remove: \"world\" }}#=> Hello, . Goodbye, ."
|
|
2779
|
+
},
|
|
2780
|
+
{
|
|
2781
|
+
"id": "remove_first",
|
|
2782
|
+
"name": "remove_first",
|
|
2783
|
+
"type": "unknown",
|
|
2784
|
+
"description": "Удаляет только первое вхождение подстроки из строки.",
|
|
2785
|
+
"example": "{{ \"Hello, world. Goodbye, world.\" | remove_first: \"world\" }}#=> Hello, . Goodbye, world."
|
|
2786
|
+
},
|
|
2787
|
+
{
|
|
2788
|
+
"id": "lstrip",
|
|
2789
|
+
"name": "lstrip",
|
|
2790
|
+
"type": "unknown",
|
|
2791
|
+
"description": "Удалить табы, пробелы, переносы в начале строки",
|
|
2792
|
+
"example": "{{ \" So much room for activities! \" | lstrip }} >> So much room for activities!"
|
|
2793
|
+
},
|
|
2794
|
+
{
|
|
2795
|
+
"id": "truncate",
|
|
2796
|
+
"name": "truncate",
|
|
2797
|
+
"type": "unknown",
|
|
2798
|
+
"description": "Фильтр укорачивает строки до указанного количества символов удалением конца строки.",
|
|
2799
|
+
"example": "{{ \"The cat came back the very next day\" | truncate: 13 }}The cat ca...\n{{ \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" | truncate: 18, \", and so on\" }}ABCDEFG, and so on"
|
|
2800
|
+
},
|
|
2801
|
+
{
|
|
2802
|
+
"id": "truncatewords",
|
|
2803
|
+
"name": "truncatewords",
|
|
2804
|
+
"type": "unknown",
|
|
2805
|
+
"description": "Фильтр укорачивает строку до указанного количества символов удалением конца строки.",
|
|
2806
|
+
"example": "{{ \"The cat came back the very next day\" | truncatewords: 4 }}The cat came back...{{ \"The cat came back the very next day\" | truncatewords: 4, \"--\" }}The cat came back--"
|
|
2807
|
+
},
|
|
2808
|
+
{
|
|
2809
|
+
"id": "strip_newlines",
|
|
2810
|
+
"name": "strip_newlines",
|
|
2811
|
+
"type": "unknown",
|
|
2812
|
+
"description": "Фильтр изымает из указанной последовательности символов служебный символ \"Новая строка\" (символ, обозначаемый NL, \\n, имеющий код 0ah).",
|
|
2813
|
+
"example": ""
|
|
2814
|
+
},
|
|
2815
|
+
{
|
|
2816
|
+
"id": "url_encode",
|
|
2817
|
+
"name": "url_encode",
|
|
2818
|
+
"type": "unknown",
|
|
2819
|
+
"description": "",
|
|
2820
|
+
"example": "{{ \"john@liquidhub.ru\" | url_encode }}\n=> john%40liquidhub.ru"
|
|
2821
|
+
},
|
|
2822
|
+
{
|
|
2823
|
+
"id": "url_decode",
|
|
2824
|
+
"name": "url_decode",
|
|
2825
|
+
"type": "unknown",
|
|
2826
|
+
"description": "",
|
|
2827
|
+
"example": "{{ 'john%40liquidhub.ru' | url_decode }}\n=> john@liquidhub.ru"
|
|
2828
|
+
},
|
|
2829
|
+
{
|
|
2830
|
+
"id": "file_type_by_url",
|
|
2831
|
+
"name": "file_type_by_url",
|
|
2832
|
+
"type": "unknown",
|
|
2833
|
+
"description": "Получить тип и расширение файла. image/video/audio/document/archive",
|
|
2834
|
+
"example": "{% assign file_type = 'https://example.com/image.jpg?v=123&size=large' | file_type_by_url %}\n{{ file_type.type }} => image\n{{ file_type.ext }} => jpg"
|
|
2835
|
+
},
|
|
2836
|
+
{
|
|
2837
|
+
"id": "default",
|
|
2838
|
+
"name": "default",
|
|
2839
|
+
"type": "unknown",
|
|
2840
|
+
"description": "Задать значение поумолчанию",
|
|
2841
|
+
"example": "{{ product_price | default: 2.99 }} >> 2.99{% assign product_price = \"\" %} {{ product_price | default: 2.99 }} >> 2.99"
|
|
2842
|
+
},
|
|
2843
|
+
{
|
|
2844
|
+
"id": "date",
|
|
2845
|
+
"name": "date",
|
|
2846
|
+
"type": "unknown",
|
|
2847
|
+
"description": "Фильтр преобразует формат даты в указанный (все даты - григорианского календаря)",
|
|
2848
|
+
"example": "{{ 'now' | date: \"%Y\" }}"
|
|
2849
|
+
},
|
|
2850
|
+
{
|
|
2851
|
+
"id": "json",
|
|
2852
|
+
"name": "json",
|
|
2853
|
+
"type": "unknown",
|
|
2854
|
+
"description": "Преобразует строку или Liquid переменную в JSON формат.",
|
|
2855
|
+
"example": "var myObject = { text: {{ 'Строка в html теге' | json }}, product: {{ product | json }} } console.log(myObject);"
|
|
2856
|
+
},
|
|
2857
|
+
{
|
|
2858
|
+
"id": "custom_json",
|
|
2859
|
+
"name": "custom_json",
|
|
2860
|
+
"type": "unknown",
|
|
2861
|
+
"description": "Получение полей liquid объектов в JSON формате",
|
|
2862
|
+
"example": "var customArticle = {{ article | custom_json: 'title', 'id', 'author' }};"
|
|
2863
|
+
},
|
|
2864
|
+
{
|
|
2865
|
+
"id": "dark",
|
|
2866
|
+
"name": "dark?",
|
|
2867
|
+
"type": "unknown",
|
|
2868
|
+
"description": "Проверяет, темный цвет или нет. Принимает только hex.",
|
|
2869
|
+
"example": ""
|
|
2870
|
+
},
|
|
2871
|
+
{
|
|
2872
|
+
"id": "change_lightness",
|
|
2873
|
+
"name": "change_lightness",
|
|
2874
|
+
"type": "unknown",
|
|
2875
|
+
"description": "Изменить яркость цвета",
|
|
2876
|
+
"example": ""
|
|
2877
|
+
},
|
|
2878
|
+
{
|
|
2879
|
+
"id": "image_url",
|
|
2880
|
+
"name": "image_url",
|
|
2881
|
+
"type": "unknown",
|
|
2882
|
+
"description": "Фильтр для указания размера изображения.",
|
|
2883
|
+
"example": ""
|
|
2884
|
+
},
|
|
2885
|
+
{
|
|
2886
|
+
"id": "webp_picture_tag",
|
|
2887
|
+
"name": "webp_picture_tag",
|
|
2888
|
+
"type": "unknown",
|
|
2889
|
+
"description": "Фильтр создает из объекта изображения тег picture, в который добавляет изображение в формате .webp, а так же тег img с исходным форматом.",
|
|
2890
|
+
"example": "{% assign image_title = product.title | escape %}{{ product.first_image | webp_picture_tag: 600, class: 'product-image', data-index: 1, alt: image_title, title: image_title }}\nНа выходе получаем =>\n---\n{{ collection.image | webp_picture_tag: 600 }}\nНа выходе получаем =>"
|
|
2891
|
+
},
|
|
2892
|
+
{
|
|
2893
|
+
"id": "select_option",
|
|
2894
|
+
"name": "select_option",
|
|
2895
|
+
"type": "unknown",
|
|
2896
|
+
"description": "Фильтр select_option создает HTML-элемент <option> для использования внутри тега <select>. Он автоматически устанавливает атрибут selected, если переданное значение совпадает с выбранным значением. ▎Параметры - value: Значение опции (будет использовано в атрибуте value).- selected: Текущее выбранное значение.- name: Отображаемое имя опции (текст внутри тега <option>). ▎Возвращаемое значение Возвращает строку, представляющую HTML-элемент <option>.",
|
|
2897
|
+
"example": "1. Базовое использование:\n{% assign current_value = \"2\" %}{{ \"1\" | select_option: current_value, \"Опция 1\" }}{{ \"2\" | select_option: current_value, \"Опция 2\" }}{{ \"3\" | select_option: current_value, \"Опция 3\" }}\nРезультат:Опция 1Опция 2Опция 3\nПример для селекта с выбором количества товаров на странице\n{{ \"24\" | select_option: page_size, \"24 товара\" }} {{ \"48\" | select_option: page_size, \"48 товара\" }} {{ \"72\" | select_option: page_size, \"72 товара\" }}"
|
|
2898
|
+
},
|
|
2899
|
+
{
|
|
2900
|
+
"id": "link_to",
|
|
2901
|
+
"name": "link_to",
|
|
2902
|
+
"type": "unknown",
|
|
2903
|
+
"description": "Фильтр link_to используется для создания HTML элемента ссылки (<a>) из заданного URL и текста ссылки. Кроме того, он допускает необязательный атрибут title для ссылки. Параметры link: Видимый текст ссылки (обязательно). url: URL, на который указывает ссылка (обязательно). title: Атрибут title ссылки (необязательно). Возвращаемое значениеВозвращает строку, представляющую собой HTML элемент <a>.",
|
|
2904
|
+
"example": "{{ \"Перейти в корзину\" | link_to: cart_url, \"Ваша корзина\" }}Перейти в корзину"
|
|
2905
|
+
}
|
|
2906
|
+
]
|
|
2907
|
+
},
|
|
2908
|
+
{
|
|
2909
|
+
"id": "collection--operatory_i_konstruktsii",
|
|
2910
|
+
"name": "Операторы/конструкции",
|
|
2911
|
+
"description": "",
|
|
2912
|
+
"variables": [
|
|
2913
|
+
{
|
|
2914
|
+
"id": "if",
|
|
2915
|
+
"name": "If",
|
|
2916
|
+
"type": "unknown",
|
|
2917
|
+
"description": "Оператор проверяет условие \"если\"",
|
|
2918
|
+
"example": "{% if user %} Привет, {{ user.name }}{% endif %}"
|
|
2919
|
+
},
|
|
2920
|
+
{
|
|
2921
|
+
"id": "else",
|
|
2922
|
+
"name": "else",
|
|
2923
|
+
"type": "unknown",
|
|
2924
|
+
"description": "Условный оператор \"иначе\"",
|
|
2925
|
+
"example": "{% if user %} Привет, {{ user.name }} {% else %} Зарегистрироваться{% endif %}"
|
|
2926
|
+
},
|
|
2927
|
+
{
|
|
2928
|
+
"id": "elsif",
|
|
2929
|
+
"name": "Elsif",
|
|
2930
|
+
"type": "unknown",
|
|
2931
|
+
"description": "Условный оператор который позоваляет делать новые ветки проверок",
|
|
2932
|
+
"example": "{% if user.name == 'tobi' %} Hello tobi{% elsif user.name == 'bob' %} Hello bob{% else %} Hello guest{% endif %}"
|
|
2933
|
+
},
|
|
2934
|
+
{
|
|
2935
|
+
"id": "unless",
|
|
2936
|
+
"name": "Unless",
|
|
2937
|
+
"type": "unknown",
|
|
2938
|
+
"description": "Оператор Unless, в отличии от оператора If, удобен, если надо проверить отрицание условия",
|
|
2939
|
+
"example": "{% unless product.title contains 'колбаса' %} Это не колбаса{% endunless %}"
|
|
2940
|
+
},
|
|
2941
|
+
{
|
|
2942
|
+
"id": "casewhen",
|
|
2943
|
+
"name": "case/when",
|
|
2944
|
+
"type": "unknown",
|
|
2945
|
+
"description": "Конструкция switch заменяет собой сразу несколько if или elsif.",
|
|
2946
|
+
"example": "{% case handle %}\n{% when 'cake' %}\nThis is a cake\n{% when 'cookie' %}\nThis is a cookie\n{% else %}\nThis is not a cake nor a cookie\n{% endcase %}"
|
|
2947
|
+
},
|
|
2948
|
+
{
|
|
2949
|
+
"id": "7abccc407a3ee18e3fc22ae51ce820aee7a541c9",
|
|
2950
|
+
"name": "==",
|
|
2951
|
+
"type": "unknown",
|
|
2952
|
+
"description": "равно",
|
|
2953
|
+
"example": "{% if product.title == \"колбаса\" %}\nЭто колбаса\n{% endif %}"
|
|
2954
|
+
},
|
|
2955
|
+
{
|
|
2956
|
+
"id": "f4470e02c981a8966ec600e6c5a4a3c5f12d9617",
|
|
2957
|
+
"name": "!=",
|
|
2958
|
+
"type": "unknown",
|
|
2959
|
+
"description": "Не равно",
|
|
2960
|
+
"example": "{% if product.title != 'колбаса' %} Это не колбаса{% endif %}"
|
|
2961
|
+
},
|
|
2962
|
+
{
|
|
2963
|
+
"id": "936ad6864da71210e170b1f826992384bdf53382",
|
|
2964
|
+
"name": ">",
|
|
2965
|
+
"type": "unknown",
|
|
2966
|
+
"description": "Больше",
|
|
2967
|
+
"example": "{% if collection.products > 10 %} Товаров больше 10{% endif %}"
|
|
2968
|
+
},
|
|
2969
|
+
{
|
|
2970
|
+
"id": "d3c7626a1b348fcdb3556f89be41de0f373d95ad",
|
|
2971
|
+
"name": "<",
|
|
2972
|
+
"type": "unknown",
|
|
2973
|
+
"description": "Меньше",
|
|
2974
|
+
"example": "{% if collection.products < 10 %} Товаров меньше 10{% endif %}"
|
|
2975
|
+
},
|
|
2976
|
+
{
|
|
2977
|
+
"id": "aa2b664988a4b2db4479132cff5c070039f85cc5",
|
|
2978
|
+
"name": ">=",
|
|
2979
|
+
"type": "unknown",
|
|
2980
|
+
"description": "Больше или равно",
|
|
2981
|
+
"example": "{% if collection.products >= 10 %} Товаров больше или равно 10{% endif %}"
|
|
2982
|
+
},
|
|
2983
|
+
{
|
|
2984
|
+
"id": "bf45a885bba877fd474cc7ba5d2dbc6b3b946538",
|
|
2985
|
+
"name": "<=",
|
|
2986
|
+
"type": "unknown",
|
|
2987
|
+
"description": "Меньше или равно",
|
|
2988
|
+
"example": "{% if collection.products <= 10 %} Товаров меньше или равно 10{% endif %}"
|
|
2989
|
+
},
|
|
2990
|
+
{
|
|
2991
|
+
"id": "or",
|
|
2992
|
+
"name": "or",
|
|
2993
|
+
"type": "unknown",
|
|
2994
|
+
"description": "Или",
|
|
2995
|
+
"example": "{% if collection.subcollections.size > 0 or collection.title == 'Бренды' %} коллекция бренды или коллекция включающая более 0 субколлекций {% endif %}"
|
|
2996
|
+
},
|
|
2997
|
+
{
|
|
2998
|
+
"id": "and",
|
|
2999
|
+
"name": "and",
|
|
3000
|
+
"type": "unknown",
|
|
3001
|
+
"description": "И",
|
|
3002
|
+
"example": "{% if collection.subcollections.size > 0 and collection.title == 'Бренды' %} Если имя коллекции - бренды и коллекция включает более 0 субколлекций {% endif %}"
|
|
3003
|
+
},
|
|
3004
|
+
{
|
|
3005
|
+
"id": "contains",
|
|
3006
|
+
"name": "contains",
|
|
3007
|
+
"type": "unknown",
|
|
3008
|
+
"description": "Проверяет наличие подстроки внутри строки или внутри массива из строк.",
|
|
3009
|
+
"example": "{% if product.title contains 'Pack' %}\nThis product's title contains the word Pack.\n{% endif %}\n{% if article.tags contains 'Hello' %}\nThis article has been tagged with 'Hello'.\n{% endif %}"
|
|
3010
|
+
},
|
|
3011
|
+
{
|
|
3012
|
+
"id": "for",
|
|
3013
|
+
"name": "for",
|
|
3014
|
+
"type": "unknown",
|
|
3015
|
+
"description": "Цикл применяется для обхода массивов",
|
|
3016
|
+
"example": "{% for product in collection.products %} {{ product.title }}{% endfor %}"
|
|
3017
|
+
},
|
|
3018
|
+
{
|
|
3019
|
+
"id": "break",
|
|
3020
|
+
"name": "break",
|
|
3021
|
+
"type": "unknown",
|
|
3022
|
+
"description": "Встретив тег {% break %} цикл прекращает итерации",
|
|
3023
|
+
"example": "{% for i in (1..5) %} {% if i == 4 %} {% break %} {% else %} {{ i }} {% endif %}{% endfor %}\n#=> 1 2 3"
|
|
3024
|
+
},
|
|
3025
|
+
{
|
|
3026
|
+
"id": "continue",
|
|
3027
|
+
"name": "continue",
|
|
3028
|
+
"type": "unknown",
|
|
3029
|
+
"description": "Пропустить итерацию",
|
|
3030
|
+
"example": "{% for i in (1..5) %} {% if i == 4 %} {% continue %} {% else %} {{ i }} {% endif %}{% endfor %}\n#=> 1 2 3 5"
|
|
3031
|
+
},
|
|
3032
|
+
{
|
|
3033
|
+
"id": "cycle",
|
|
3034
|
+
"name": "cycle",
|
|
3035
|
+
"type": "unknown",
|
|
3036
|
+
"description": "Сycle чередует вывод переданных параметров. Можно использовать в цикле for.",
|
|
3037
|
+
"example": "{% cycle 'one', 'two', 'three' %}{% cycle 'one', 'two', 'three' %}{% cycle 'one', 'two', 'three' %}{% cycle 'one', 'two', 'three' %}\n#=> one#=> two#=> three#=> one\n{% cycle 'group 1': 'one', 'two', 'three' %}{% cycle 'group 1': 'one', 'two', 'three' %}{% cycle 'group 2': 'one', 'two', 'three' %}{% cycle 'group 2': 'one', 'two', 'three' %}\n#=> one#=> two#=> one#=> two\n{% for i in (0..5) %} {% cycle '1', '2', '3' %}{% endfor %}\n#=> 1#=> 2#=> 3#=> 1#=> 2#=> 3"
|
|
3038
|
+
},
|
|
3039
|
+
{
|
|
3040
|
+
"id": "limit",
|
|
3041
|
+
"name": "limit",
|
|
3042
|
+
"type": "unknown",
|
|
3043
|
+
"description": "Параметр limit ограничивает количество итераций",
|
|
3044
|
+
"example": "{% for item in array limit:2 %} {{ item }}{% endfor %}\n#=> 1 2"
|
|
3045
|
+
},
|
|
3046
|
+
{
|
|
3047
|
+
"id": "offset",
|
|
3048
|
+
"name": "offset",
|
|
3049
|
+
"type": "unknown",
|
|
3050
|
+
"description": "Параметр offset указывает с какого индекса начанинать итерации",
|
|
3051
|
+
"example": "{% for item in array offset:2 %} {{ item }}{% endfor %}\n#=> 3 4 5 6"
|
|
3052
|
+
},
|
|
3053
|
+
{
|
|
3054
|
+
"id": "capture",
|
|
3055
|
+
"name": "capture",
|
|
3056
|
+
"type": "unknown",
|
|
3057
|
+
"description": "Capture объединяет несколько переменных в одну строку",
|
|
3058
|
+
"example": "{% capture my_var %}Первая строка{% endcapture %}{% capture my_var %}Вторая строка{% endcapture %}{{ my_var }}=> Вторая строка\n{% capture my_var %}Первая строка{% endcapture %}{% capture my_var %}{{ my_var }}Вторая строка{% endcapture %}{{ my_var }}=> Первая строка=> Вторая строка\n{% assign array = 'первый второй третий' | split: ' ' %}{% for item in array %} {% capture text_array %}[{{ item }}]{% endcapture %}{% endfor %}{{ text_array }} => [третий]\n{% for item in array %} {% capture text_array2 %}{{ text_array2 }}[{{ item }}]{% endcapture %}{% endfor %}{{ text_array2 }} => [первый][второй][третий]"
|
|
3059
|
+
},
|
|
3060
|
+
{
|
|
3061
|
+
"id": "cache",
|
|
3062
|
+
"name": "cache",
|
|
3063
|
+
"type": "unknown",
|
|
3064
|
+
"description": "Создать кешируемый блок. В качестве параметра уникальный ключ.",
|
|
3065
|
+
"example": "{% capture cache_menu_key %}cache_menu_key_{{ collections.last_updated_at }}_{{ language.locale }}{% endcapture %}\n{% cache cache_menu_key %}.. кешируемый код{% endcache %}"
|
|
3066
|
+
},
|
|
3067
|
+
{
|
|
3068
|
+
"id": "help",
|
|
3069
|
+
"name": "help",
|
|
3070
|
+
"type": "unknown",
|
|
3071
|
+
"description": "Выводит доступные переменные в шаблоне, выводит список свойств объектов.",
|
|
3072
|
+
"example": "{% for field in order.all_fields %} {% help field %} {% endfor %}"
|
|
3073
|
+
}
|
|
3074
|
+
]
|
|
3075
|
+
},
|
|
3076
|
+
{
|
|
3077
|
+
"id": "collection--shablonizator-biblioteki-lodash",
|
|
3078
|
+
"name": "Шаблонизатор библиотеки LoDash",
|
|
3079
|
+
"description": "",
|
|
3080
|
+
"variables": [
|
|
3081
|
+
{
|
|
3082
|
+
"id": "sintaksis",
|
|
3083
|
+
"name": "Синтаксис",
|
|
3084
|
+
"type": "unknown",
|
|
3085
|
+
"description": "<% javascript code; %> – javascript код Между разделителями <% ... %> записывается и выполняется javascript код. <%= HTMLString %> – вывод строки как HTML Содержимое переменной будет выводиться как HTML. <%- text %> – вывод строки в виде текста. Теги будут будут преобразованы в текст. Например <hr> -> <hr> script type=\"text/template\" Теги script с типом type=\"text/template\" служат контейнерами для шаблонов. Данные записанные в данном теге не будут отображаться на странице, таким образом мы прячем шаблон.",
|
|
3086
|
+
"example": ""
|
|
3087
|
+
},
|
|
3088
|
+
{
|
|
3089
|
+
"id": "sozdanie-render-funktsii-i-peredacha-dannyh",
|
|
3090
|
+
"name": "Создание рендер функции и передача данных",
|
|
3091
|
+
"type": "unknown",
|
|
3092
|
+
"description": "Чтобы отрисовать шаблон на основе данных, нам нужно создать рендер функцию. Рендер функция создается из написанного нами шаблона. Это нужно для того чтобы заменить <%- title %> на данные из javascript объектов. Чтобы создать рендер функцию нужно передать в метод _.template содержимое нашего шаблона. Для удобства мы записываем шаблоны в тег script type=\"text/template\". Получившийся результат можем вывести на страницу в виде html кода. 🖥️ Пример на codepen.io 🖥️ Пример с динамическими данными на codepen.io",
|
|
3093
|
+
"example": "hello !\nvar compiled = _.template($('#hello').html());\n$('.js-dinamic').html(compiled({ 'user': 'fred' }));"
|
|
3094
|
+
},
|
|
3095
|
+
{
|
|
3096
|
+
"id": "primery-ispolzovaniya-javascript-koda-vnutri-shablona",
|
|
3097
|
+
"name": "Примеры использования javascript кода внутри шаблона",
|
|
3098
|
+
"type": "unknown",
|
|
3099
|
+
"description": "🖥️ Пример на codepen.io",
|
|
3100
|
+
"example": "Цикл из массива items.\n() \nИспользуя внутри шаблона javascript методы, обязательно ставьте точку с запятой (;).\nНо если вызываем функцию которая возвращает значение то точка с запятой не ставится и в разделитель добавляется знак равно (=).\n=> TEXT\nОператоры сравнения.\nИстина\nЛожь\nТолько истина\nИспользование кода в атрибутах.\n\">\n// Функция делает все буквы заглавными\nfunction textUpperCase(text) {\nreturn text.toUpperCase();\n}"
|
|
3101
|
+
},
|
|
3102
|
+
{
|
|
3103
|
+
"id": "vyvod-massiva-tovarov-commonv2",
|
|
3104
|
+
"name": "Вывод массива товаров (Common.V2)",
|
|
3105
|
+
"type": "unknown",
|
|
3106
|
+
"description": "",
|
|
3107
|
+
"example": "\">\n\" class=\"card-image\">\n\">\n\">\n\" >\n-\n+\n1){ %>\n\" class=\"btn\">Подробнее\nВ корзину\n-->"
|
|
3108
|
+
}
|
|
3109
|
+
]
|
|
3110
|
+
},
|
|
3111
|
+
{
|
|
3112
|
+
"id": "collection--setupjson",
|
|
3113
|
+
"name": "Setup.json",
|
|
3114
|
+
"description": "Данный файл описывает, что нужно создавать в магазине при установке или инициализации темы.",
|
|
3115
|
+
"variables": [
|
|
3116
|
+
{
|
|
3117
|
+
"id": "kategorii-na-sayte",
|
|
3118
|
+
"name": "Категории на сайте",
|
|
3119
|
+
"type": "unknown",
|
|
3120
|
+
"description": "Массив категорий. Задается идентификатор и название каждой категории.",
|
|
3121
|
+
"example": ""
|
|
3122
|
+
},
|
|
3123
|
+
{
|
|
3124
|
+
"id": "paneli-blokov",
|
|
3125
|
+
"name": "Панели блоков",
|
|
3126
|
+
"type": "unknown",
|
|
3127
|
+
"description": "Задается идентификатор и название каждой панели блоков. Можно также задать идентификаторы блоков, которые надо добавить на панель.",
|
|
3128
|
+
"example": ""
|
|
3129
|
+
},
|
|
3130
|
+
{
|
|
3131
|
+
"id": "bloki",
|
|
3132
|
+
"name": "Блоки",
|
|
3133
|
+
"type": "unknown",
|
|
3134
|
+
"description": "Задается идентификатор, название и содержимое блока.",
|
|
3135
|
+
"example": ""
|
|
3136
|
+
},
|
|
3137
|
+
{
|
|
3138
|
+
"id": "shablon-paneli-blokov",
|
|
3139
|
+
"name": "Шаблон панели блоков",
|
|
3140
|
+
"type": "unknown",
|
|
3141
|
+
"description": "Шаблоны блоков записываются в поле block_templates которое является объектом. У шаблонов есть 2 обязательных поля - name, block_fields. name - имя блока block_fields - поля блока У полей блоков могут быть поля name, kind, block_field_options. name - имя поля kind - тип поля block_field_options - список опций селекта Типы полей: text - Текст rich_text - HTML account_file - Файл collection_list - Список категорий collection - Категория select - Выпадающий список checkbox - Чекбокс",
|
|
3142
|
+
"example": ""
|
|
3143
|
+
},
|
|
3144
|
+
{
|
|
3145
|
+
"id": "blok-s-privyazannym-shablonom",
|
|
3146
|
+
"name": "Блок с привязанным шаблоном",
|
|
3147
|
+
"type": "unknown",
|
|
3148
|
+
"description": "",
|
|
3149
|
+
"example": ""
|
|
3150
|
+
},
|
|
3151
|
+
{
|
|
3152
|
+
"id": "blok-s-polzovatelskim-shablonom",
|
|
3153
|
+
"name": "Блок с пользовательским шаблоном",
|
|
3154
|
+
"type": "unknown",
|
|
3155
|
+
"description": "",
|
|
3156
|
+
"example": ""
|
|
3157
|
+
},
|
|
3158
|
+
{
|
|
3159
|
+
"id": "menyu",
|
|
3160
|
+
"name": "Меню",
|
|
3161
|
+
"type": "unknown",
|
|
3162
|
+
"description": "Массив меню. Задается идентификатор и название каждого меню. Массив пунктов меню. Задается идентификатор и название каждого пункта меню и указывается в какое меню добавлять.",
|
|
3163
|
+
"example": ""
|
|
3164
|
+
},
|
|
3165
|
+
{
|
|
3166
|
+
"id": "parametry-i-ih-znacheniya",
|
|
3167
|
+
"name": "Параметры и их значения",
|
|
3168
|
+
"type": "unknown",
|
|
3169
|
+
"description": "Задаются идентификаторы, названия и списки значений параметров.",
|
|
3170
|
+
"example": ""
|
|
3171
|
+
},
|
|
3172
|
+
{
|
|
3173
|
+
"id": "stranitsy",
|
|
3174
|
+
"name": "Страницы",
|
|
3175
|
+
"type": "unknown",
|
|
3176
|
+
"description": "ля страницы можно задать название, идентификатор и содержание.",
|
|
3177
|
+
"example": ""
|
|
3178
|
+
},
|
|
3179
|
+
{
|
|
3180
|
+
"id": "blogi",
|
|
3181
|
+
"name": "Блоги",
|
|
3182
|
+
"type": "unknown",
|
|
3183
|
+
"description": "Задается идентификатор и название каждого. Также можно для блога задать список статей.",
|
|
3184
|
+
"example": ""
|
|
3185
|
+
},
|
|
3186
|
+
{
|
|
3187
|
+
"id": "vidzhety",
|
|
3188
|
+
"name": "Виджеты",
|
|
3189
|
+
"type": "unknown",
|
|
3190
|
+
"description": "Чтобы создать виджет в шаблоне нужно указать следующие данные в setup.json: widget_types theme_widgets -> widget_lists widget_types widget_types отвечает за создание виджета. widget_types имеет следующие свойства: \"block_template\": шаблон блокок которые будут добавляться в виджете \"name\": заголовок виджета \"handle\": уникальный пермалинк для типов виджетов \"type\": \"block_list_widget_type\" \"snippet\": название сниппета который будет привязан к виджету, например - \"widget_shippet.liquid\". Сниппет должен присутствовать в теме. widget_lists widget_lists содержит в себе виджет листы, которые содержат в себе массивы виджетов. В ликвид доступна переменна widget_lists в которой по ключу можно получить массив виджетов.widget_lists.index-list.widgets widget_lists содержит массив объектов с полями: \"name\": имя виджет листа (указать уникальное имя на латинице) \"handle\": пермалинк виджет листа, используется для доступа в виджетам в ликвид (в пермалинке виджет листа запрещен символ нижнего подчеркивания) \"widgets\" массив виджетов widgets В массиве виджетов находятся с объекты с указанным типом виджета и пермалинком панели блоков \"widget_type\": тут указывается handle из widget_types \"data_handle\": тут пермалинк из block_lists",
|
|
3191
|
+
"example": "{% for widgetDrop in widget_lists.index-list.widgets %} {% widget widgetDrop %}{% endfor %}"
|
|
3192
|
+
}
|
|
3193
|
+
]
|
|
3194
|
+
}
|
|
3195
|
+
]
|
|
3196
|
+
}
|