需求背景

现存的导航栏支持分级结构,但是对每一个栏目进行颜色设置并没有很友好的暴露出来。用户在需要重点标注的导航上往往是写代码更新,得自己在界面上吸取颜色,然后编辑代码更新,不是很友好。

1. 抛出问题

怎么对现存的链接进行重点颜色标记呢?

众所周知,前端颜色设置需要对网页的css进行更新,才能够让我们看到想要的效果。那么我要想精准的控制某个导航子单元,就需要精准的知道选中的是哪一个。css选择器可以辅助我们实现这一效果。

  1. .nav_xxx a[href="/collections/xxxx"] {
  2. color: red;
  3. }

2. 如何设置

需要知道两件事

Q: 如何选择我们想要的collection链接
A: 我们在schema中,可以设置type为collection_list, 这样配置的时候可以选择多个collection
Q: 将我们选择的collection链接填充正确的颜色
A: 我们在schema中,可以设置type为color, 这样配置的时候会以选择器的形式出现

一个如何配置?

  1. .header .list-menu a[href="/collections/add"]::before {
  2. content: '🔥';
  3. }
  4. .header .list-menu a[href="/collections/add"] {
  5. color: red;
  6. }

那如何做到整体去配置呢?

知道一个怎么去配置,后面多个整体配置就不难了。

  1. 我们找到导航栏所在的位置,header.liquid

  2. 如图所示位置,加我我们配置项,注意后面的逗号

代码作用: 在后台显示我们我们的配置选项
image.png

  1. {
  2. "type": "collection_list",
  3. "id": "important_collections",
  4. "label": "导航栏需要重点标记的collection"
  5. },
  6. {
  7. "type": "color",
  8. "id": "important_collections_color",
  9. "label": "导航栏需要重点标记的颜色"
  10. }
  1. 如图所示位置加入我们的css样式

代码作用: 更新网站前端重点样式
image.png

  1. {%- for collection in section.settings.important_collections -%}
  2. .header .list-menu a[href="/collections/{{ collection.handle }}"]::before {
  3. content: '🔥';
  4. }
  5. .header .list-menu a[href="/collections/{{ collection.handle }}"] {
  6. color: {{ section.settings.important_collections_color }};
  7. }
  8. {%- endfor -%}

3. 效果展示

店铺地址: https://asen-practice.myshopify.com/ 密码:test

点击查看【bilibili】

image.png

Tips: 如有引用请标注源文章地址

参考链接

[1] https://shopify.dev/themes/architecture/settings/input-settings#collection_list

关注我的【小红书】,第一时间掌握更新动态


你的鼓励就是我创作的动力!
zanshang.png