如何创建可从/account页跳转的/orders页面?Shopify开发问题
搞定Shopify自定义/orders页面跳转问题
嘿,我来帮你解决这个困扰!你遇到的重定向问题,本质是Shopify对/account/*这类路由有默认的系统规则,你放在账户模板里的orders.liquid会和自带的订单页面路由冲突,所以才会被弹回主账户页。要创建独立的/orders页面,跟着下面的步骤来就行:
第一步:创建自定义页面模板
- 登录Shopify后台,进入「在线商店」→「主题」,找到正在用的主题,点击「操作」→「编辑代码」。
- 在左侧的「模板」目录下,点击「添加新模板」。
- 模板类型选「页面(page)」,模板名称填
orders,然后点「创建模板」。 - 现在你会得到
page.orders.liquid文件,在这里编写你的自定义订单页面内容就行——如果要显示用户订单,记得用Shopify的Liquid对象,比如customer.orders来拉取登录用户的订单数据。
第二步:创建页面并绑定模板
- 回到后台,进入「在线商店」→「页面」→「添加页面」。
- 页面标题随便填(比如「我的订单」),重点是「网址」栏必须填
orders,这样页面的访问地址就是你的店铺域名+/orders。 - 在「模板」下拉菜单里,选中你刚创建的
page.orders模板,然后点「保存」。
第三步:修改账户页的跳转按钮
找到你账户主页面的模板文件(一般是account.liquid),在你想要放按钮的位置,加上跳转链接代码,比如:
<a href="/orders" class="button">查看我的订单</a>
这样设置完,用户点击账户页的按钮就能直接跳转到你自定义的/orders页面,不会再被重定向啦!
另外给你个小提示:如果要在订单页面显示用户的订单信息,记得加登录判断,比如:
{% if customer %} {% for order in customer.orders %} <div class="order-card"> <p>订单号:{{ order.name }}</p> <p>下单时间:{{ order.created_at | date: "%Y年%m月%d日" }}</p> <!-- 这里可以加更多订单详情,比如金额、状态等 --> </div> {% endfor %} {% else %} <p>请先登录查看你的订单哦~</p> {% endif %}
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

