Я создал систему для моего клиента, чтобы иметь возможность отображать на страницах продуктов таблицу деталей / спецификаций с тегами продукта, которая работает аналогично сгруппированным тегам фильтра темы Supply, например. продукт, имеющий тег «Brand_Philips», автоматически добавит строку в таблицу, в которой первый столбец будет «Бренд», а второй - «Philips».
Я добавил ввод в тему settings_schema.json, поэтому мой клиент должен иметь возможность добавлять / удалять и переупорядочивать детали, и все, что мне теперь нужно сделать, это просто пройти через новый параметр и проверить, есть ли соответствующий тег, и добавить его. в таблицу, но по какой-то причине, когда я зацикливаю детали в цикле тегов, все работает нормально, а когда я зацикливаю теги в деталях, вся страница портится.
Вот мой код:
В settings_schema.json:
{
"name": "Sort Product Details",
"settings": [
{
"type": "text",
"label": "Type the product detail tags in a comma-separated list.",
"id": "product_details",
"info": "List items must be identical to the tag prefixes (no underscore), and have no spaces between commas.ie. Brand,Avarage Lifetime,Watts,Volts"
}
]
}
На странице продукта я написал этот код:
{% assign marker = '_' %}
{% assign productDetails = settings.product_details | split: ',' %}
{% assign found = false %}
{% for tag in product.tags %} <!-- The tags loop -->
{% for detail in productDetails %} <!-- The details loop -->
{% if tag contains marker and tag contains detail %}
{% if found == false %}
{% assign found = true %}
<hr>
<h3>Product Details:</h3>
<table class="table-striped">
{% endif %}
{{ tag | replace: marker, ': </strong></td><td>' | prepend: '<tr><td><strong>' | append: '</td></tr>' }}
{% if found and forloop.last %}</table>{% endif %}
{% endif %}
{% endfor %}
{% endfor %}
Обратите внимание, что я зацикливаю детали в цикле тегов, но когда я зацикливаю теги в цикле деталей, моя страница все портится.
Вот как обычно выглядит моя страница:
А вот как выглядит моя страница, когда я зацикливаю теги в цикле деталей:
Причина, по которой я хочу, чтобы он зацикливал теги в цикле подробностей, заключается в том, что я хочу, чтобы мой клиент мог изменить порядок деталей - и он не должен отображаться в алфавитном порядке - как работает цикл тегов.
Заранее спасибо!
Мартин.