devkai / craft-shopify-resource
使用 storefront api 的 shopify-resource 参考字段
1.0.2
2020-02-26 16:08 UTC
Requires
- craftcms/cms: ^3.0.0-RC1
- dev-master
- 1.0.2
- dev-dependabot/npm_and_yarn/json5-1.0.2
- dev-dependabot/npm_and_yarn/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/terser-4.8.1
- dev-dependabot/npm_and_yarn/ajv-6.12.6
- dev-dependabot/npm_and_yarn/ssri-6.0.2
- dev-dependabot/npm_and_yarn/y18n-4.0.1
- dev-dependabot/npm_and_yarn/elliptic-6.5.4
- dev-dependabot/npm_and_yarn/ini-1.3.8
- dev-dependabot/npm_and_yarn/yargs-parser-13.1.2
- dev-dependabot/npm_and_yarn/acorn-6.4.1
This package is auto-updated.
Last update: 2024-09-07 18:35:30 UTC
README
使用 storefront api 的 shopify-resource 参考字段
使用 shopify storefront api 在 craft 字段中存储 shop storefront id 并使用下拉菜单
在 craft 字段中使用 shopify 产品和收藏,灵感来源于 nmaier95/craft-shopify-product-fetcher,但使用 shopify storefront api,因此 id 与 shopify buy sdk 兼容
- 向 shopify 发送自定义 GraphQL 查询以获取调整大小后的图像
- 在 cp 中的异步客户端查询不会因多个产品字段而减慢 cp 渲染
要求
此插件需要 Craft CMS 3.0.0-beta.23 或更高版本。
安装
要安装此插件,请按照以下说明操作。
-
打开您的终端并进入您的 Craft 项目
cd /path/to/project -
然后告诉 Composer 加载插件
composer require toyflish/craft-shopify-resource -
在控制面板中,转到设置 → 插件,然后点击 craft-shopify-resource 的“安装”按钮。
craft-shopify-resource 概述
为您的控制面板添加 shopify 资源选择字段
配置 craft-shopify-resource
期望 storefront-api 凭据和区域设置以启用对新的 shopify 多语言 api 的查询
return [
'accessToken' => getenv('SHOPIFY_ACCESS_TOKEN'),
'hostname' => getenv('SHOPIFY_HOSTNAME'),
'hostnameOverwrite' => getenv('SHOPIFY_HOSTNAME_PUBLIC'),
'locale' => 'en'
];
使用 craft-shopify-resource
您可以使用插件提供的查询(类似于 shopify buy sdks 产品查询)或提交在 twig 中设置的自定义查询
<p>
<h2>Entry resource field with handle myResource</h2>
shopify storefront id: {{entry.myResource}}
<p>use product query provided by plugin</p>
{% set myResourceProduct = craft.storefront.productById(entry.myResource) %}
{% if myResourceProduct %}
title : {{ myResourceProduct.title }}
{% else %}
myResource product not found
{% endif %}
</p>
<p>
<h2>Custom Query: list of products</h2>
{% set query %}
query searchProducts($term: String) {
products(first: 250, query: $term) {
edges {
node {
id
title
}
}
}
}
{% endset %}
{% set productsResult = craft.storefront.query(query)['products']['edges'] %}
{% if productsResult|length %}
<h3>Product list</h3>
{% for product in productsResult|map(product => product.node) %}
<p>{{ product.title }}</p>
{% endfor %}
{% endif %}
</p>
由 devkai 提供