Компенсація від Shopify для українського бізнесу

Дескриптори об'єкту


Дескриптори (handles) використовують для доступу до об'єктів Ліквіда. За замовчуванням, дескриптор - це назва об'єкта, представлена у нижньому регістрі з пробілами та іншими символами, заміненими на дефіси (-).

До прикладу, сторінку з назвою "Про нас" можна отримати в Ліквід-файлі з використанням дескриптора "про-нас", як показано нижче:

<!-- контент сторінки "Про нас" -->
{{ pages['про-нас'].content }}

У цій статті

Як створюються дескриптори

Сторінці з назвою "Футболка" автоматично присвоюється дескриптор "футболка" . Якщо раніше іншій сторінці вже було присвоєно дескриптор "футболка", то для новоствореної буде використано автоматичний інкремент. Іншими словами, новим сторінкам з назвою "Футболка" буде присвоєно дескриптор "футболка-1" або "футболка-2" і т.д.

Дескриптор сторінки у Shopify-магазині

 

Під час створення дескриптора пробіл у назві сторінки замінюється символом тире. Наприклад, сторінці під назвою "Назва нової футболки" автоматично присвоюється дескриптор "назва-нової-футболки".

Також дескриптор визначає URL-адресу сторінки. Наприклад, сторінка з дескриптором "біла-футболка" матиме URL https://my-shop.myshopify.com/pages/біла-футболка.

У темах Shopify розробники часто використовують статичні дескриптори для сторінок, товарів чи меню. Щоб зберегти працездатність елемента та функції дизайну, Shopify не змінює дескриптор при зміні назви об'єкта (сторінки, товару, меню і т.д.).

Тобто, якщо ви зміните назву сторінки з "Про нас" на "Наша компанія", то дескриптор залишиться старим - "про-нас" . При необхідності, ви можете змінити дескриптор вручну.

Доступ до атрибутів дескриптора

У багатьох випадках ви знаєте назву дескриптора об'єкта, доступ до якого ви хочете отримати. Щоб використати його, ви можете застосувати один із способів звернення до об'єкта - з використанням квадратних дужок ( ["дескриптор"] ) або з використанням точкової нотації ( .дескриптор ).

{{ pages['про-нас'].title }}
{{ pages.про-нас.title }}

В обох випадках код виведе назву сторінки:

Про нас
Про нас

Зауважте, що дескриптор запитується з об'єкта pages, а не page.

Замість прямої вказівки дескриптора ви можете задати об'єкт з редактора теми. Ця можливість корисна тим розробникам, які хочуть дати користувачам своїх тем можливість вибирати, який контент відображати у своїй темі.

 {% for product in collections[settings.home_featured_collection].products %}
{{ product.title }}
{% endfor %}