Я не на 100% уверен, что вы имеете в виду при доступе к этому метаполю через ваше приложение - во многих местах вы можете пытаться использовать это значение, поэтому я попытаюсь охватить некоторые из основ здесь.
Если вы пытаетесь получить доступ к метаполю в своем коде Python
Ваше приложение не работает на серверах Shopify и не имеет какой-либо нативной концепции Liquid кода.Однако, поскольку ваше приложение работает на ваших серверах с доступом к любой базе данных, которую вы использовали для хранения нужных вам данных, вам не нужно обращаться к этому метаполю - у вас должна быть вся необходимая информация, которую вы уже сохранили.
Тем не менее, если требования вашего приложения поставили вас в положение, при котором вам нужно читать это в реальном времени из магазина, вы можете использовать учетные данные своего приложения для доступа к [the-store-domain.myshopify.com]/admin/metafields.json
, чтобы получить информацию о метаполе в свое приложение.Вы также можете уточнить свой запрос - например, [the-store-domain.myshopify.com]/admin/metafields.json?namespace=atuls-app
будет возвращать только метаполя, где namespace
было atuls-app
.
Если вы пытаетесь получить доступ к мета-полю в коде интерфейса вашего приложения
К сожалению, вы не сможете поместить каплю жидкости в какой-либо файл внутри папки магазина /assets
(если вы там пишете какие-либо файлы), а также вы не сможете положить внутрь какую-либо жидкостьлюбых ресурсов, которые ваше приложение загружает через content_for_header
.
Однако в последнем случае скрипты, загруженные через content_for_header
, будут приходить с вашего сервера, поэтому вы можете использовать любой из перечисленных выше методов, чтобы вставить это значение в файл скрипта через код вашего сервера./logic.
В первом случае, когда вы добавляете файл в папку /assets
темы Shopify, у вас будет доступ только к очень ограниченному числу переменных Liquid (и, к сожалению, shop
).не один из них).Чтобы обойти это, вам нужно установить приложение, чтобы добавить тег script
в файл layouts/theme.liquid
, чтобы сохранить глобальную переменную с содержимым вашего метаполя.Любые другие сценарии смогут получить доступ к этой глобальной переменной.(Примечание: этот метод включает все обычные предостережения / соображения по поводу использования глобальных переменных для вещей)
Надеюсь, это поможет!