标签: shopify

通过 Shopify API 设置产品发布日期无法正常工作

当我通过Shopify 产品更新 API ( https://ashop.myshopify.com/admin/products/product_id.json PUT)使用以下 JSON 将published_at 设置为未来日期时。

{
  "product": {
    "id": 632910392,
    "published": false,
    "published_at": "2015-01-01T00:00:00+11:00"
  }
}
Run Code Online (Sandbox Code Playgroud)

它返回 200 和以下 JSON

{
    "product": {
        "body_html": "something",
        "created_at": "2014-01-07T14:49:00+11:00",
        "handle": "test-product",
        "id": 206281997,
        "product_type": "MERCHANDISE",
        "published_at": "2015-01-01T00:00:00+11:00",
        "published_scope": "",
       },
    /* some other JavaScript properties*/
}
Run Code Online (Sandbox Code Playgroud)

Shopify 接受了发布日期,但产品仍然可见。下面是产品可见性的截图 在此处输入图片说明

但是,如果我从请求 JSON 中删除 "published_at": "2015-01-01T00:00:00+11:00" ,该产品将更改为隐藏。

如何通过 Shopify API 设置发布日期?是否可能是 Shopify API 的错误?

谢谢你的帮助。

shopify

1
推荐指数
1
解决办法
927
查看次数

Shopify API 按名称或 order_number 获取订单

我使用CakePHP的插件进行调用以获取某些订单。我可以调用具有特定字段的所有订单,但我想知道如何调用才能获取具有特定名称或 order_number 的订单?这是调用Shopify的来源。它已经通过身份验证和一切:

public function call($method, $path, $params=array())
    {
        if (!$this->isAuthorized())
            return;
        $password = $this->is_private_app ? $this->secret : md5($this->secret.$this->ShopifyAuth->token);
        $baseurl = "https://{$this->api_key}:$password@{$this->ShopifyAuth->shop_domain}/";

        $url = $baseurl.ltrim($path, '/');
        $query = in_array($method, array('GET','DELETE')) ? $params : array();
        $payload = in_array($method, array('POST','PUT')) ? stripslashes(json_encode($params)) : array();
    $request_headers = in_array($method, array('POST','PUT')) ? array("Content-Type: application/json; charset=utf-8", 'Expect:') : array();
    $request_headers[] = 'X-Shopify-Access-Token: ' . $this->ShopifyAuth->token;
        list($response_body, $response_headers) = $this->Curl->HttpRequest($method, $url, $query, $payload, $request_headers);
    $this->last_response_headers = $response_headers;
    $response = json_decode($response_body, true);

        if (isset($response['errors']) …
Run Code Online (Sandbox Code Playgroud)

api cakephp restful-url shopify

1
推荐指数
1
解决办法
3860
查看次数

jQuery:将字符串转换为类似于 Shopify 的 Handleize 的“句柄”

我正在尝试做与 Shopify 的“handleize”对字符串所做的相同的事情,但使用 jQuery。

https://docs.shopify.com/themes/liquid-documentation/filters/string-filters#handle

基本上我想将任何字符串转换为句柄,所以

你好,我叫科里。

会成为

你好,我的名字是科里

使用 jQuery 函数。

javascript jquery shopify

1
推荐指数
1
解决办法
3338
查看次数

如何查询用户的 Shopify 订单历史?

我正在为运行基于会员的网站的客户定制 Shopify 网站。

他们希望会员运作的方式是每个会员每月以折扣价获得 3 件商品,然后订购的每个后续产品都以正常价格购买。

我已经弄清楚如何限制每个订单订购的折扣产品数量,但我无法弄清楚如何使用 Shopify 的 API 来查询该客户的订单历史记录,以便我可以查看会员每月订购了多少产品并根据需要调整价格(我正在使用客户定价插件来管理当前的定价折扣)。

我一直在研究 Liquid 文档,我可以看到订单标签和客户标签的位置,但不一定是如何将它们循环在一起。

有没有比我更熟悉 Shopify API 的人能够指出正确的方向?

liquid shopify

1
推荐指数
1
解决办法
1459
查看次数

Shopify / Liquid 找到“-”并删除之前的内容

我有一些内容,例如:产品类型 - 颜色名称(此更改但格式始终相同,我只想显示“颜色名称”

它输出为:

{{ product.title }}
Run Code Online (Sandbox Code Playgroud)

我需要做的是使用可用的字符串过滤器并查找并删除“-”及其之前的内容,以便它只显示连字符“-”之后的部分

有没有人有任何想法?

html smarty liquid shopify

1
推荐指数
1
解决办法
3676
查看次数

Google Analytics 会在设置时发出事件吗?

我们的一些客户希望向他们报告他们的 Google Analytics ID。得到它并不难。

ga.getAll()[0].get('clientId');

还有一个排队语法,以便在设置 GA 时完成操作。

但是不想在 GA 准备好时发送 GA 事件。准备好后我想问 GA 一个问题。

也许有某种方式可以对 GA 说“当你准备好了,运行这个函数,我传递给你。”

或者,GA 是否在准备好时发出自定义事件?

目前,当窗口发出加载事件时,我的客户正在调用我的代码。但即便如此,仍有一小部分时间 ga 未定义。如果您等待几秒钟,则它已定义。也许一些奇怪的cdn系统。无论如何,我需要一种可靠的方法来确定 GA 何时准备就绪。


(我无法使评论中的格式配合,所以我改变了我的问题来回应 Feathercrown。)

听起来不错!唯一的问题是 ga 尚未定义。这是我自己发送的错误消息示例。
"type": "Page View", "data": { "error": { "message": "ga.getAll is not a function. (In 'ga.getAll()', 'ga.getAll' is undefined)", "message2": "window.GoogleAnalyticsObject = ga", "message3": "typeof ga is not Object" } },

也许 _gxx 符号已经可用?

javascript google-analytics callback shopify

1
推荐指数
1
解决办法
930
查看次数

Shopify:在 Javascript 中使用来自 {% schema %} 的变量

我有一个使用以下架构的自定义部分:

{% schema %}
  {
    "name": "Custom",
    "settings": [
    {
        "type": "textarea",
        "id": "custom_text_product",
        "label": "Insert name of the product here",
        "default": "Product"
      },
    {
        "type": "textarea",
        "id": "custom_text_msg",
        "label": "Custom text",
        "default": "Insert text here"
      }
    ]
  }
{% endschema %}
Run Code Online (Sandbox Code Playgroud)

基本上我想要的是从每个 textarea 中获取文本,通过 Javascript 进行操作,然后将其添加到 DOM 中。

通过.liquid我会简单地做{{ section.settings.id }},但我不知道如何在 Javascript 中访问它们。因为它是一个大文本,我也不能将它作为数据属性添加到 DOM 中。

我试过遵循这个,但没有成功。

有人可以帮助我或向我推荐有关这方面的文件吗?

非常感谢!

javascript liquid shopify

1
推荐指数
1
解决办法
1757
查看次数

Shopify 在变体选择上触发功能,但不覆盖现有功能

我在 Shopify 上使用“阁楼”主题。当我在产品页面上选择一个变体时,它们会将 SKU 和价格更新为该变体,我需要比这更多的功能,因为我想使用元字段显示每个变体的尺寸。

我创建了一个函数并在变体选择上调用它,如下所示:

jQuery(function($) {
  new Shopify.OptionSelectors('productSelect', {
    product: {{ product | json }},
    onVariantSelected: selectCallback,
    enableHistoryState: true
  });
});
Run Code Online (Sandbox Code Playgroud)

我的函数被调用,我可以执行我想要的操作。但这会阻止默认操作的发生,例如更新价格和 SKU。有没有办法可以同时调用两者?

javascript liquid shopify shopify-template

1
推荐指数
1
解决办法
3353
查看次数

Shopify 应用访问令牌 - 如何使其更安全?

当商店所有者安装我的应用程序时,我将访问令牌保存到数据库中以备后用。拥有来自商店的访问令牌是一项巨大的安全责任,因为拥有这些令牌的任何人都可以从任何域/地址修改商店,没有 IP 或域锁定。

我可以使用什么方法来使这更安全?我想离线保存令牌,然后仅在需要时上传(以防我需要对所有商店进行一些全局更新),然后再次删除它。如果商家在管理员中访问应用程序配置,我会将其保存到会话中。有没有更好的方法?

shopify access-token shopify-app

1
推荐指数
1
解决办法
1884
查看次数

无法为我的 shopify 商店使用主题手表

每次我尝试命令“主题观看”时,它都会向我发送此错误:

[开发] 这是 Nhan 测试商店的直播主题。如果您想对其进行更改,则必须传递 --allow-live 标志无法在没有覆盖的情况下对实时主题进行更改

我该如何解决?

shopify

1
推荐指数
1
解决办法
3821
查看次数