在shopify里新增页面

作者:吴业飞 时间:2018.06.08


这个教程将说明如何在一个shopify的theme中新建一个页面并正确的指向这个页面。

实际工作流程

1.Add a section

我们新增一个名为my-first-section的section,这个section里编写的HTML代码就是你新增的页面的HTML

Tips: shopify自带的在线编辑器比较难用,建议在自己习惯的编辑器里完成编码后粘贴过来。 准确的说这个不是HTML文件,而是liquid模板引擎,关于liquid模板语法的介绍可以看github.com/Shopify/liq… Note: schema请写在section中

2.Add a Templates

这里我们新建一个名为my-first-page的Template

可以看到my-first-page并不是一个空白的文件,这里自动生成的代码我们点开Template下的page.liquid就明白了

可以看到因为我们在新建名为my-first-page的Template时选择了for page,所以my-first-page继承了page.liquid的内容。那么问题来了,我们现在是在新建页面,我们就想从零开始不想继承,能不能不选择for page呢?答案是否定的,在后面会说到原因。 我们现在回归正常工作流程,我们新建了section,新建了template,现在我们在template中引用我们的section,通过 {% section 'my-first-section' %}

可以看到,我们并没有在我们的template中编写HTML,我们选择将所有的HTML放到section中,只在template中引入section,理由是我们可能需要编写schema,而schema必须编写在对应的section中才能生效(全局schema除外)。 至此我们的HTML部分编码完成,我们再将我们编写好的SCSS粘贴到Assets下的__theme.scss.liquid__

官方指南中说明了我们可以在section中用{% stylesheet %} {% endstylesheet %} 包裹该section所需的css(scss),这里建议将SCSS放到总的样式文件__theme.scss.liquid__的理由是笔者在实践中发现写在section中的样式貌似不能在刷新页面后立刻生效,总感觉有延迟要多次刷新,但是写在__theme.scss.liquid__中可以在刷新后立即生效,这个问题有待验证原因。在此提出以便读者在实践中如果发现样式未生效不妨将样式放到theme.scss.liquid文件中看看效果以便排查错误。

3.Add page

下面的流程不涉及编码,单纯地在前台添加我们写好的页面。

4.访问页面

经过上述步骤我们已经在系统里添加了页面,本小节将说明怎么访问这些页面。

object handles

Handles是用来访问对象属性的,具体介绍参考help.shopify.com/themes/liqu… 这里我们直接说明访问页面的url 如果我们在Add page时选择的Template suffix是page.my-first-page,那么url为/pages/my-first-page。 shopify的命名规范是全部小写“-”分割,所以为了方便url的书写建议__不要__使用驼峰命名法。


版权声明:自由转载-非商用-非衍生-保持署名

转载于:https://juejin.im/post/5c11c4696fb9a049ea38d186

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值