Как использовать значение метаполя в Shopify APP - PullRequest
0 голосов
/ 22 января 2019

Я создал мета-поле, используя API. В настоящее время доступ к этим Metafield в shopify cart.liquid, как показано ниже -

{{shop.metafields.AnnexCloud.access_token}}

Получение правильного значения с использованием приведенного выше синтаксиса. Но когда я пытаюсь получить доступ к Metafield через синтаксис выше в файлах APP, сталкивающихся с проблемой.

Я создаю новое публичное приложение shopify, используя python. Во что хотите получить доступ к метафолду используя

{{shop.metafields.AnnexCloud.access_token}}

Итак, пожалуйста, помогите мне.

Спасибо

1 Ответ

0 голосов
/ 22 января 2019

Я не на 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, чтобы сохранить глобальную переменную с содержимым вашего метаполя.Любые другие сценарии смогут получить доступ к этой глобальной переменной.(Примечание: этот метод включает все обычные предостережения / соображения по поводу использования глобальных переменных для вещей)

Надеюсь, это поможет!

...