标签: shopify

Shopify - 在 Liquid 中将 Int 转换为 String

如何将液体中的数据类型从数字更改为字符串?

这可用于在块内创建动态 CSS 类。但是,如果它作为整数出现,则不会将其识别为类。

{{block.id}} // Integer
Run Code Online (Sandbox Code Playgroud)

我在下面回答了我自己的问题并举了一个例子。

string integer coercion liquid shopify

7
推荐指数
2
解决办法
2万
查看次数

重定向至 Shopify 客户注册处的结帐页面

我想在 Shopify 网站中创建帐户后将客户重定向到结账页面。

\n\n

Shopify 提供了这种在客户登录时重定向的方法:

\n\n
{% form \'customer_login\' %}\n <input type="hidden" name="checkout_url" value="/checkout"/>\n
Run Code Online (Sandbox Code Playgroud)\n\n

但将相同的方法应用于客户注册时,表单会在成功时重定向到结账,但会忽略错误检查:

\n\n
  {% form \'create_customer\' %}\n <input type="hidden" name="return_to" value="/checkout" />\n
Run Code Online (Sandbox Code Playgroud)\n\n

这种使用 HTML 表单而不是 Liquid 表单的方法会重定向到结帐,但客户尚未登录,这违背了结帐前创建帐户的目的:

\n\n
 <form method=\'post\' action=\'/checkout\' id=\'create_customer\' accept-charset=\'UTF-8\'>\n <input name=\'form_type\' type=\'hidden\' value=\'create_customer\'/>   \n <input name="utf8" type="hidden" value="\xe2\x9c\x93">\n
Run Code Online (Sandbox Code Playgroud)\n\n

错误检查后有什么重定向的想法吗?谢谢!

\n

redirect liquid shopify

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

液体中的正则表达式可能吗?

在我的 Shopify 页面上,我有一堆产品的描述中包含奇怪的字符,我认为这些字符是从 CSV 导入的。如果要逐一检查并手动删除这些字符,工作量会很大。

\n\n

我有这个正则表达式脚本可以在客户端删除它们:

\n\n
$(function() {\n    var regex = /\\?\xc3\x95\xc3\x8c_|_\xc5\x92\xe2\x80\x9a|[\xc5\xa0\xc5\xbd\xc3\x80\xc3\x81\xc3\x82\xc3\x83\xc3\x84\xc3\x85\xc3\x86\xc3\x87\xc3\x88\xc3\x89\xc3\x8a\xc3\x8b\xc3\x8c\xc3\x8d\xc3\x8e\xc3\x8f\xc3\x91\xc3\x92\xc3\x93\xc3\x94\xc3\x95\xc3\x96\xc3\x98\xc3\x99\xc3\x9a\xc3\x9b\xc3\x9c\xc3\x9d\xc3\x9e\xc3\x9f\xc3\xb0\xc3\xbf_]/gi;\n\n    $('.rte').html(function(i, oldHTML) {\n        return oldHTML.replace(regex, ' ')\n            .replace(/[^\\x00-\\x7F]|\\?/g, '');\n    });\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

但我想移动类似服务器端的东西,并可能用液体重新创建它。这甚至可以用液体来做吗?如何在服务器端使用这个正则表达式?

\n\n

编辑:

\n\n

我写了这个hacky代码

\n\n
{{ product.description | replace: '?\xc3\x8d\xc3\xad_' | replace: '\xc5\x92\xc3\xa6' | replace: '\xc3\xa4\xc3\xb3\xc2\xbb\xc3\xad\xcb\x86\xc3\xad_\xc3\xad\xe2\x80\x9a_' | replace: '\xc3\xad_\xc5\x92\xe2\x80\x9a\xc3\xad__' | replace: '\xcc\xb4\xc3\x8c_' | replace: '?\xc3\x95\xc3\x8c_' | replace: '?\xc3\xad\xc2\xb4\xc3\xad\xc3\xab_' | replace: '\xc3\x8c_\xc3\xa5\xc3\x87\xc3\x8c__' | replace: '\xc3\xa5\xc3\x8a' | replace: '?\xe2\x80\x99\xc2\xab\xc3\xad\xc3\xab\xc3\xad__' | replace: '?\xc3\xad_\xc5\x92\xc3\x87\xc3\xad_\xc3\xad\xe2\x80\x9a_' | replace: '\xc3\xad\xc2\xab\xc3\xad_' | replace: '?\xc3\xad?\xc3\xad__' | replace: '\xe2\x80\x99\xc3\x87\xc3\xad\xc3\xab_' | replace: '\xc3\xad\xc3\xab_\xc3\xad\xc2\xab\xc3\xad\xcb\x86\xc3\xad\xc3\xab__' | replace: …
Run Code Online (Sandbox Code Playgroud)

regex liquid shopify

6
推荐指数
2
解决办法
1万
查看次数

如何通过应用程序注入自定义js到shopify

您好,我对 Shopify 应用程序开发还很陌生。我使用 laravel 创建了 shopify 应用程序,现在生成了一个包含内容的 js 文件。我想要的是将此代码自动注入到shopify商店中,因此安装该应用程序的每个用户都会将代码自动添加到他的商店中。我目前阅读了有关脚本标签的信息,可能是插入它们的最佳方式,但我不清楚。我想要能帮助我解决这个问题的信息。提前致谢

javascript shopify laravel shopify-app

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

Shopify / Liquid - 仅使用 Liquid 而不是 Javascript 查找完整 URL

我想知道是否有一种方法可以仅使用液体(Shopify 模板语言)来获取完整的URL。我知道提供了以下内容,但它们(甚至组合起来)似乎都没有实现它。它可以通过 javascript using 来完成window.location.href,但我想知道是否有一种仅液体的方法。对于我的使用来说,必须将 JavaScript 与我的液体结合起来使它变得更加复杂,因此我的问题。

{{ page.url }}
{{ shop.url }}
{{ shop.domain }}
{{ collection.url }}
{{ product.url }}
{{ blog.url }}
{{ article.url }}
{{ article.comment_post_url }}
{{ canonical_url }}
Run Code Online (Sandbox Code Playgroud)

例如,如果我的 URL 是www.website.com/blogs/myblog/tagged/?123,并且我想要整个 URL,包括 ?123。答案可能是否定的,但这似乎相当愚蠢,因为他们拥有以下所有选项,但不仅仅是整个 URL 的选项。就我而言,我将直接访问 href 形式的 URL,因此仅在页面加载时应用 Liquid 不是问题。

liquid shopify

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

列表“icons”中的每个字典应包含一个非空 UTF8 字符串字段“type”

在分析我的 Shopify 网站上产品的 html 是否有错误时,我发现这个奇怪的错误重复了 6 次:““图标”列表中的每个字典都应包含一个非空的 UTF8 字符串字段“类型”。”

页面链接:https://www.fermento24.com/collections/vini-in-offerta-questo-mese/products/terra-di-lavoro-igp-2017-galard ?variant=32793469780039

我试图找出这个问题的根源,但谷歌并没有真正清楚地解决这个问题的根源,因为它把我带到了网站的第一个字符串“<!doctype html>”

任何人都可以帮我解决这个问题吗?

编辑:此处截图:i.imgur.com/y2gjnIr.png

要查看错误,如 JosefZ 所述:转到该站点,右键单击 => Inspect(或 Ctrl+Shift+I)。

html icons utf-8 shopify

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

Nextjs:表单提交 POST 时出现 405

按照本教程,我尝试在 Nextjs 中提交表单,但在尝试 POST 到我的 api 路由时收到 405 错误。我尝试过使用 axios 和 fetch api。这看起来应该很简单,但我不确定我哪里出错了。我缺少什么明显的东西吗?谢谢!

/调查/创建

const handleSubmit = async (event) => {
    event.preventDefault();

    const testData = {
      title: surveyTitle,
    };

    const res = await fetch("/api/survey", {
      method: "POST",
      body: JSON.stringify({
        dataName: testData,
      }),
      headers: {
        "Content-Type": "application/json",
      },
    });
  };

Run Code Online (Sandbox Code Playgroud)

/api/调查

export default function handler(req, res) {
  console.log(req.body);
  res.status(200).json(JSON.stringify({ name: 'Success' }))
}
Run Code Online (Sandbox Code Playgroud)

javascript shopify reactjs next.js shopify-app

6
推荐指数
0
解决办法
3950
查看次数

如何配置可以使用 &lt;script type="text/javascript"&gt;&lt;/script&gt; 运行的 Vite 构建输出

如何配置 Vite 构建以使用 script type="text/javascript"进行输出

我使用的是 Vite 2.7.2,当完成 HTML 中的代码构建后,输出脚本标签如下

<script type="module" crossorigin src="/assets/index.0c37d7b4.js"></script>
Run Code Online (Sandbox Code Playgroud)

我想要的是

<script type="text/javascript" crossorigin src="/assets/index.0c37d7b4.js"></script>
Run Code Online (Sandbox Code Playgroud)

代码在type="module"下运行良好,但是当我手动将其替换为type="text/javascript"时,代码中断并输出以下错误

Uncaught TypeError: Cannot set properties of null (setting 'innerHTML')
Run Code Online (Sandbox Code Playgroud)

这是构建之前的原始代码

const elements = {
  root: document.querySelector('#root'),
};
elements.root.innerHTML = `Loading...`;
Run Code Online (Sandbox Code Playgroud)

我希望类型为type="text/javascript" 的原因是 Shopify 平台只接受类型为“text/javascript”的脚本

shopify vite

6
推荐指数
0
解决办法
1189
查看次数

如何访问主题扩展液体文件中的 Shopify 应用拥有的元字段?

我无法找到液体应用程序对象。Shopify 在这里提到了这个对象https://shopify.dev/changelog/new-app-liquid-object但是当我们单击其中的链接(https://shopify.dev/api/liquid/objects#app)时对于物体来说,什么也没有出现。我正在尝试访问主题应用程序扩展液体文件中应用程序拥有的元字段。即使我在液体文件中提到应用程序对象,它也会引发错误(未定义的对象“应用程序”)。有人可以让我知道如何访问主题扩展中应用程序拥有的元字段吗?

liquid shopify shopify-app shopify-template

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

使用 Shopify 应用代理 get call 时无法删除 ERR_NGROK_6024

我正在尝试使用应用程序代理从本地主机发送数据,我正在使用 ngrok 但无法访问该页面。

也无法(或者可能不知道如何)传递请求对冲“ngrok-skip-browser-warning”

在此输入图像描述

shopify ngrok shopify-app

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