为什么按日期和限制从 Shopify 商店获取订单总是返回最新日期的订单?例如:如果我使用以下查询进行查询以获取 2012 年 8 月 1 日起的 5 个订单:
/admin/orders.json?status=open&created_at_min=2012-08-01 12:00&limit=5
因为我在 2012 年 8 月 20 日有 5 个订单,在 2012 年 8 月 31 日有 5 个订单,但这将返回最新日期(2012 年 8 月 31 日)的 5 个订单。
这个问题与Shopify REST Collections 的排序顺序非常密切相关,但该问题的答案特定于参数since_id。
我的问题是,当提供updated_at_min或 时,通过 API 进行订单集合的预期排序顺序是什么?updated_at_max
理想的情况是能够以某种方式按升序获得结果,但不必传入since_id,因为我们希望能够在订单更新时持续提取新的订单数据。
假设我们有衬衫产品。
变体是款式/尺寸。
男士:L
男士:XXL
男士:XL
女士:小号
女式:XL
女:L
现在,在默认的 Shopify 中,无论您选择什么款式,您仍然可以选择任何尺寸,即使该尺寸不适用于该款式。如何根据您的风格选择强制进行此检查?
我相信主题正在使用此技术的修改版本:http://wiki.shopify.com/Tutorial_on_editing_existing_theme_to_use_products_with_multiple_options#4._Instantiate_Shopify.OptionSelectors_javascript
如何修改它以隐藏选项,而不仅仅是在不匹配时显示已售完?
主题的真实代码:
应用程序.js
selectCallback = function(variant, selector) {
var $product = $('#product-' + selector.product.id);
var $notify_form = $('#notify-form-' + selector.product.id);
if (variant) {
var $thumbs = $('.flex-control-thumbs img', $product);
var optionValue = variant.options[$('form.product_form', $product).data('option-index')];
$.each($thumbs, function(index, value) {
if($(value).attr('alt') == optionValue && !$(value).hasClass('flex-active')) {
$(value).click();
return false;
}
});
}
if (variant && variant.available == true) {
if(variant.price < variant.compare_at_price){
$('.was_price', $product).html(Shopify.formatMoney(variant.compare_at_price, $('form.product_form', $product).data('money-format')))
} else { …Run Code Online (Sandbox Code Playgroud) 嘿伙计们,我是 Shopify 的新手,我的用例是我想对现有的 Shopify 主题进行更改,并且想在不上线的情况下向我的客户展示
有什么办法可以做到这一点,例如 - 复制该主题并将其放入 /demo - 像这样
containsShopify Liquid Smarty 标签的反面是什么?
我基本上想从带有标签的搜索页面中隐藏产品hideme
示例代码:{% if product.tags contains 'hideme' %}。在这个我想用does not contain而不是contains
我构建了一个模板,我想在 Shopify 上将日期转换为时间戳。
我知道我可以使用这个将时间戳转换为日期:
{{ '1560523384' | date: "%d-%m-%Y" }} // result is 14-06-2019
Run Code Online (Sandbox Code Playgroud)
但我想做相反的事情
{{ '14-06-2019' | timestamp }} // do not work
Run Code Online (Sandbox Code Playgroud)
无论如何要使用 Shopify Liquid 做到这一点?
我寻求帮助,使用限制产品/变种数量的脚本编辑器应用程序中Shopify加。目标是在每次结账时只允许将一个数量添加到购物车中,以获取不同产品中的某些特定变体 ID。
在 Shopify 部分中,我有一个图像选择器块来制作图库,在同一部分中,我有一个 url 块来制作任意数量的按钮。
问题是两种块类型都出现在主题编辑器的同一“内容”区域中。这使得编辑器看起来很混乱。
有没有办法有 2 个单独的块区域,一个用于图片库,另一个用于按钮?
"blocks": [
{
"type": "button",
"name": "Button",
"settings": [
{
"type": "url",
"id": "button_link",
"label": "Button link"
}
]
},
{
"type": "image",
"name": "Image slide",
"settings": [
{
"type": "image_picker",
"id": "image",
"label": "Image"
}
]
}
]
Run Code Online (Sandbox Code Playgroud) 我一直在关注这个关于如何建立使用节点,Nextjs公共Shopify应用和应对教程。
一切都很顺利,但是我现在需要将一些应用程序数据存储在数据库中。为此,我选择了 Firestore。
我正在做的是当用户通过他们的商店对应用程序进行身份验证时,我使用 Next JS 服务器中的 Admin-SDK 将他们的商店和 accessToken 写入文档:
注意:我使用“离线”访问模式,因为我需要一个永久访问令牌,以便我的应用程序可以在后台发出 Shopify API 请求。我也知道我应该在存储之前真正加密 accessToken,但是只是试图让逻辑先工作
server.use(
createShopifyAuth({
apiKey: SHOPIFY_API_KEY,
secret: SHOPIFY_API_SECRET_KEY,
scopes: ['read_products', 'write_products'],
accessMode: "offline",
async afterAuth(ctx) {
const {shop, accessToken} = ctx.session;
ctx.cookies.set('shopOrigin', shop, {
httpOnly: false,
secure: true,
sameSite: 'none'
});
await getSubscriptionUrl(ctx, accessToken, shop);
await db.collection('shops').doc(shop).set({
name: shop,
accessToken
}, {merge: true});
},
}),
);
Run Code Online (Sandbox Code Playgroud)
我还使用 Koa 中间件来验证对我的应用程序的任何请求,以确保它们来自 Shopify 应用程序
server.use(verifyRequest());
Run Code Online (Sandbox Code Playgroud)
我现在想要做的是为我的应用添加一种从 Firebase 提取数据的方法。我在其中创建了一个 api 端点,/pages/api/firebase.js它使用shopOrigincookie 来获取商店名称,然后为该商店提取数据。
export default …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个分页的 shopify 产品页面。我正在使用since_id他们的文档中列出的策略:https : //shopify.dev/docs/admin-api/rest/reference/products/product#index-2020-10
使用此端点,如文档中所述:
/products.json?limit=5&since_id=${sinceId}
因为Id是上一页上最后一个产品的ID
分页似乎跳过项目。它似乎没有跳过一定数量的产品。有时它只是一个。其他的最多可达 10 个。
显然,这使得“分页”不起作用。
我知道标题解决方案中的链接。但是想知道是否有人遇到过这个问题since_id?