Вы можете использовать что-то вроде этого:
Заменить <body>
в theme.liquid с нижеследующим:
<body class="{{ template }} {{ page.handle }}{% if template == 'collection' %}{{ collection.handle }}{% endif %}{% if template == 'product' %}{{ product.title | handleize }}{% endif %}{% if template == 'blog' %}{{ blog.handle }}{% endif %}{% if template == 'article' %}{{ article.title | handleize }}{% endif %}">
Чтобы добавить класс в элемент тела страницы.
Чтобы разорвать его, вот что я делаю:
{{ template }}
это возвращает имя шаблона (например, индекс для домашней страницы, блог для страницы блога, для коллекции магазин страница так далее)
{{ page.handle }}
возвращает дескриптор каждой отдельной страницы (о-нами, контакт-нас ... только страницы, а не коллекция, блоги, продукты)
{% if template == 'collection' %}{{ collection.handle }}{% endif %}{% if template == 'product' %}{{ product.title | handleize }}{% endif %}
Здесь я проверяю, если страница является сбор {% if template == 'collection' %}
и если страница является продуктом {% if template == 'product' %}
и добавить ручку для сбора {{ collection.handle }}
и название на странице продукта с handleize фильтром {{ product.title | handleize }}
. Я проверяю страницу, так как продукт не возвращает дескриптор обычным способом, и вместо этого я использую заголовок, и если я не проверю коллекцию, он также добавит его на страницу продукта.
{% if template == 'blog' %}{{ blog.handle }}{% endif %}{% if template == 'article' %}{{ article.title | handleize }}{% endif %}
Это одна логика такая же, как для сбора/продукта один.
И как только вы установите вышеуказанное, вы можете настроить таргетинг на класс тела для каждой страницы и создать его таким образом.
Хорошо написанный ответ. – HymnZ