Отображать ссылки на другие цвета на странице продукта Shopify

У меня есть интернет-магазин на Shopify с одним продуктом в 10 разных цветах. Итак, для целей SEO я создал 10 продуктов, таких как Черная футболка, Синяя футболка, Красная футболка и т. Д. Каждому продукту я присвоил свой собственный тег и уникальное описание.

Я пытаюсь связать все продукты между собой на каждой странице продукта, например, текущий просматриваемый продукт - Черная футболка, на этой странице я хотел бы показать 10 кликабельных цвета / образец с изображениями каждого цвета и к текущему просмотру добавить активный класс, при нажатии на другой цвет пользователь переходит на другую страницу продукта. Как мне этого добиться?

Любая помощь приветствуется!


person SOoCreative    schedule 24.09.2018    source источник
comment
Как это сделать? Неприятно: P Есть много способов сделать это, но все они будут в разной степени хакерскими и внесут массу накладных расходов либо в логику Liquid, либо в вызовы AJAX во время загрузки страницы. Вы уверены, что не можете достичь желаемого SEO, используя описательную схему (например: JSON-LD, json-ld. org) вместо того, чтобы полагаться на искусственное раздувание количества страниц? В конце концов, Google взвешивает ссылки по качеству.   -  person Dave B    schedule 25.09.2018
comment
Извините, мне плохо, я также должен был упомянуть, что десять разных цветов / продуктов являются частью UX-дизайна, запрошенного клиентом. Есть 3 шага для совершения покупок, на домашней странице (шаг 1) У меня есть 3 Коллекции, когда пользователь выбирает / щелкает одну из них, он получает начало на другой странице Доступные цвета (Шаг 2) на этом шаге пользователь выбирает свой предпочтительный цвет и переходит на страницу продукта (шаг 3), где просматривает все сведения о выбранном продукте. Я знаю, что нужно устанавливать сторонние приложения для образцов цвета и платить ежемесячную плату, но я предпочитаю решение без использования приложений.   -  person SOoCreative    schedule 25.09.2018
comment
Хм. Может быть, не так уж и запутано - Похоже, Шаг 2 - это страница коллекции, верно? Таким образом, у вас будет collection.products в Liquid, и до тех пор, пока это разумное количество продуктов (т. Е. Соответствует разумному размеру пагинации), у вас не должно возникнуть никаких проблем. Сработает ли создание пользовательского шаблона коллекции для ваших коллекций шага 2, оформление его как страница продукта, где образцы - это отдельные продукты? (Могут быть некоторые предположения, что все продукты в коллекции имеют одинаковые размеры опций - поэтому все либо одновариантные, либо имеют общие «размеры» ....)   -  person Dave B    schedule 25.09.2018
comment
Верный! Шаг 1 содержит три разновидности; Коллекция 1 - МАЛЕНЬКАЯ Коллекция 2 - СРЕДНЯЯ Коллекция 3 - БОЛЬШАЯ Шаг 2 - это страница коллекции, на которой используется настраиваемый шаблон, на этой странице пользователь видит образцы, десять цветов как отдельные продукты с одинаковыми параметрами (размером). Структура URL-адреса продукта выглядит так: www.example.com/collections/brand-t-shirt-size/colour.   -  person SOoCreative    schedule 26.09.2018


Ответы (1)


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

Вот что я сделал, чтобы получить эту работу;

Сначала я добавил тег к каждому продукту на основе его коллекции, в примере для всех продуктов в коллекции МАЛЕНЬКИЙ Я добавил тег small, затем мне пришлось напишите этот код, чтобы получить список всех продуктов с одинаковым тегом.

  {% if product.tags contains "small" %}
        {% assign current_product_tag = "small" %}
  {% elsif product.tags contains "medium" %}
        {% assign current_product_tag = "medium" %}
  {% elsif product.tags contains "large" %}
        {% assign current_product_tag = "large" %}
  {% endif %}

  {% assign current_product = product %}
    <div id="sw_container">
      <p class="sw_title">Select Colour</p>
      <ul class="sw_list">
  {% for product in collections.all.products %}
  {% if product.tags contains current_product_tag %}
        <li class="sw_item{% if product.handle == current_product.handle %} active{% endif %}">
          <a title="{{ product.title | escape }}" href="{% if product.handle == current_product.handle %}#{% else %}{{ product.url }}{% endif %}">
            <img src="{{ product.images.last  | product_img_url: 'small' }}" alt="{{ product.title | escape }}">
          </a>
        </li>
  {% endif %}
  {% endfor %}
      </ul>
    </div>
person SOoCreative    schedule 27.09.2018
comment
Мне нравится этот подход, и он кажется намного лучшим решением, чем использование приложения. Я хочу сделать что-то подобное, и у меня есть пара вопросов по вашему коду. Как вы справляетесь со стилизацией образцов цвета? Я не пробовал ваш код, но похоже, что в нем перечислены названия цветов? - person Axion; 01.10.2018