shopify模块新增内容或图片
1、后台找到指定的liquid页面,在该页面下方{% schema %} 新增需求
2、添加轮播图功能
{% comment %} 轮播代码 {% endcomment %}{% if block.settings.enable_slider %}<divclass="size-guide-slider swiper"data-slides-per-view="{{ block.settings.slides_per_view | default: 2 }}"><div class="swiper-wrapper">{% for slide in section.blocks %}{% if slide.type == 'slide' %}<div class="swiper-slide">{% if slide.settings.slide_image %}<imgsrc="{{ slide.settings.slide_image | image_url: width: 2000 }}"alt="{{ slide.settings.slide_title }}"loading="lazy"width="{{ slide.settings.slide_image.width }}"height="{{ slide.settings.slide_image.height }}">{% endif %}{% if slide.settings.slide_title != blank %}<div class="slide-title">{{ slide.settings.slide_title }}</div>{% endif %}</div>{% endif %}{% endfor %}</div><div class="swiper-pagination"></div><div class="swiper-button-prev"></div><div class="swiper-button-next"></div></div>{% endif %}
3、补充JQ
<script type="text/javascript" defer="">document.addEventListener('DOMContentLoaded', function () {(() => {const node = document.querySelector('#shopify-section-{{section.id}}');const carousels = node.querySelectorAll('[carousel]');let swipers = [];carousels.forEach((carousel, i) => {const swiper = new Swiper(carousel, {allowTouchMove: false,loop: true,});swipers.push(swiper);});const contentCarousel = node.querySelector('[content]');const prevEl = node.querySelector('[prev]');const nextEl = node.querySelector('[next]');const swiper = new Swiper(contentCarousel, {effect: 'fade',loop: true,fadeEffect: {crossFade: true,},navigation: {nextEl: nextEl,prevEl: prevEl,},});swiper.controller.control = swipers;swiper.controller.control = swipers;swiper.controller.control = swipers;})();});document.addEventListener('DOMContentLoaded', function () {// Function to initialize tabsfunction initializeTabs() {// Get all tab headersconst tabHeaders = document.querySelectorAll('.tab-header');// Get all tab content elementsconst tabContents = document.querySelectorAll('.tab-content');// Add click event listener to each tab headertabHeaders.forEach(function (header) {header.addEventListener('click', function () {// Remove 'active' class from all headers and contentstabHeaders.forEach(function (item) {item.classList.remove('active');});tabContents.forEach(function (content) {content.classList.remove('active');});// Add 'active' class to the clicked header and corresponding contentthis.classList.add('active');document.getElementById(this.getAttribute('data-tab')).classList.add('active');});});}// Initialize tabs when the document is readyinitializeTabs();// Initialize size guide sliderconst sizeGuideSlider = new Swiper('.size-guide-slider', {slidesPerView: parseInt(document.querySelector('.size-guide-slider').dataset.slidesPerView),slidesPerGroup: parseInt(document.querySelector('.size-guide-slider').dataset.slidesPerView),spaceBetween: 30,slidesPerGroup: 2,loop: false,pagination: {el: '.swiper-pagination',clickable: true,},navigation: {nextEl: '.swiper-button-next',prevEl: '.swiper-button-prev',},});});
</script>
后台的tab 模块区域 ,
{% schema %}
{"name": "Tab Content","settings": [{"type": "url","id": "video_url","label": "Video URL","info": "Enter the URL of the video you want to display."},{"type": "image_picker","id": "cover_image","label": "Cover Image","info": "Select the cover image that appears before the video plays."}],"blocks": [{"type": "FAQ","name": "FAQ","limit": 1,"settings": [{"type": "text","id": "tab_title","label": "Tab Title"},{"type": "image_picker","id": "icon_image","label": "Tab Icon"},{"type": "number","id": "icon_width","label": "Icon Width","info": "Enter the width of the icon in pixels.","default": 50},{"type": "number","id": "icon_height","label": "Icon Height","info": "Enter the height of the icon in pixels.","default": 50}]},{"type": "faq_item","name": "FAQ Item","limit": 20, // 可以限制 FAQ 项的数量"settings": [{"type": "text","id": "question","label": "Question","default": "Do you ship overseas?"},{"type": "richtext","id": "answer","label": "Answer","default": "<p>Yes, we ship all over the world. Shipping costs will apply, and will be added at checkout. We run discounts and promotions all year, so stay tuned for exclusive deals.</p>"}]},{"type": "size_guide","name": "Size Help","limit": 1,"settings": [{"type": "checkbox","id": "enable_slider","label": "Enable Image Slider","default": false},{"type": "range","id": "slides_per_view", // 一屏幕显示几个"min": 1,"max": 4,"step": 1,"label": "Slides Per View","default": 2},{"type": "text","id": "tab_title","label": "Tab Title"},{"type": "image_picker","id": "icon_image","label": "Tab Icon"},{"type": "number","id": "icon_width","label": "Icon Width","info": "Enter the width of the icon in pixels.","default": 50},{"type": "number","id": "icon_height","label": "Icon Height","info": "Enter the height of the icon in pixels.","default": 50},{"type": "richtext","id": "size_help_text","label": "Size help text"},{"type": "image_picker","id": "size_guide_image","label": "Size help image"},{"type": "video","id": "video","label": "Size help video"},{"type": "checkbox","id": "enable_video_looping","label": "Enable video looping"}]},{"type": "slide","name": "Slider Image", // 轮播图"settings": [{"type": "image_picker","id": "slide_image","label": "Slide Image"},{"type": "text","id": "slide_title","label": "Slide Title","default": "Slide Title"}]},{"type": "help_text_item","name": "Help Text Item","limit": 20, // 可以限制 FAQ 项的数量"settings": [{"type": "text","id": "helpText","label": "title","default": "title"},{"type": "richtext","id": "helpContent","label": "content","default": "<p>conent</p>"}]},{"type": "materials_care","name": "Materials and Care","limit": 1,"settings": [{"type": "text","id": "tab_title","label": "Tab Title"},{"type": "image_picker","id": "icon_image","label": "Tab Icon"},{"type": "number","id": "icon_width","label": "Icon Width","info": "Enter the width of the icon in pixels.","default": 50},{"type": "number","id": "icon_height","label": "Icon Height","info": "Enter the height of the icon in pixels.","default": 50},{"type": "header","content": "Material content"},{"type": "text","id": "material_title","label": "Title"},{"type": "richtext","id": "material_content","label": "Content"},{"type": "header","content": "Care"},{"type": "text","id": "care_title","label": "Title"},{"type": "richtext","id": "care_content","label": "Content"}]}]
}
{% endschema %}
4、后台效果:

相关文章:
shopify模块新增内容或图片
1、后台找到指定的liquid页面,在该页面下方{% schema %} 新增需求 2、添加轮播图功能 {% comment %} 轮播代码 {% endcomment %}{% if block.settings.enable_slider %}<divclass"size-guide-slider swiper"data-slides-per-view"{{ block.setti…...
【EMNLP2024】基于多轮课程学习的大语言模型蒸馏算法 TAPIR
近日,阿里云人工智能平台PAI与复旦大学王鹏教授团队合作,在自然语言处理顶级会议EMNLP 2024 上发表论文《Distilling Instruction-following Abilities of Large Language Models with Task-aware Curriculum Planning》。文章提出了一个名为 TAPIR 的知…...
置信传播算法复现
本文所涉及所有资源均在 传知代码平台 可获取。 目录 一.背景及意义介绍 1. 实际应用广泛 2. 理论研究重要性...
【在Linux世界中追寻伟大的One Piece】poll代码改写
目录 1 -> poll代码改写 1 -> poll代码改写 结合select代码,将select server更改成为pollserver,不是一件困难的事情。 #pragma once#include <iostream> #include <string> #include <poll.h> #include <memory> #inc…...
C++builder中的人工智能(17):神经网络中的自我规则非单调(Mish)激活函数
在这篇文章中,我们将探讨自我规则非单调激活函数——Mish在神经网络中的应用。了解Mish函数的工作原理,将有助于您在使用C IDE构建C应用程序时更加得心应手。 目录 神经网络中的激活函数是什么?能在C中创建激活函数吗?自我规则非…...
Java 的 Scanner 类:控制台输入与文件扫描
Java 的 Scanner 类是一个非常方便的工具类,主要用于从控制台或文件中扫描输入数据。虽然它也可以用于扫描文件内容,但我们通常更喜欢它用于控制台输入,因为扫描文件可以通过文件流来完成。接下来,我们将通过几个简单的示例来讲解…...
使用纯HTML和CSS绘制圣诞树:打造网页中的冬日奇景
### HTML & CSS 实现节日圣诞树:一步步打造你的冬季主题网页 在这篇文章中,我们将使用纯HTML和CSS创建一棵节日圣诞树。通过简单的代码,您可以在网页上实现一棵带有星星、彩球装饰的圣诞树,为网站增添节日氛围。 ### 实现思…...
深度学习-图像评分实验(TensorFlow框架运用、读取处理图片、模型建构)
目录 0、实验准备 ①实验环境 ②需要下载的安装包 ③注意事项(很关键,否则后面内容看不懂) ④容易出现的问题 1、查看数据并读取数据。 2、PIL库里的Image包进行读取(.resize更改图片尺寸,并将原始数据归一化处…...
羲和数据集收集器0.9
为了进一步完善代码,增强其文字抓取能力和文件读取能力,我们做以下改进: 增强 DOCX 文档的文本提取:不仅提取段落和文本框内容,还提取表格中的文本。 增强 PDF 文档的文本提取:不仅提取页面文本和注释,还提取表格中的文本。 优化文本清理:确保文本清理更加彻底,避免不…...
哈尔滨等保测评常见误区破解:避免陷入安全盲区
在当今信息化社会,网络安全已成为各行各业不可忽视的重要议题。等级保护(简称“等保”)作为我国网络安全的基本制度,旨在通过划分不同安全保护等级,对信息系统实施分等级的安全保护。然而,在实施等保测评的…...
Python学习------第四天
Python的判断语句 一、布尔类型和比较运算符 二、 if语句的基本格式 if语句注意空格缩进!!! if else python判断语句的嵌套用法:...
【Django】配置文件 settings.py
【Django】配置文件 settings.py 和Flask框架不同,Django框架项目在创建的时会默认生成配置文件settings.py,在深入学习Django框架前,我们先简单了解settings.py文件内非注释代码, from pathlib import Path BASE_DIR Path(__f…...
量化交易系统开发-实时行情自动化交易-Okex K线数据
19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来聊聊基于Okex交易所API获取K线数…...
【基于轻量型架构的WEB开发】课程 12.5 数据回写 Java EE企业级应用开发教程 Spring+SpringMVC+MyBatis
12.5 数据回写 12.5.1 普通字符串的回写 接下来通过HttpServletResponse输出数据的案例,演示普通字符串的回写,案例具体实现步骤如下。 1 创建一个数据回写类DataController,在DataController类中定义 showDataByResponse()方法ÿ…...
apache-seata-2.1.0 AT模式使用篇(配置简单)
最近在研究seata的AT模式,先在本地搭建了一个演示demo,看看seata是如何使用的。在网上搜的demo,配置相对来说都比较多。我最终搭建的版本,配置较少,所以写篇文章分享下,希望能帮到对seata感兴趣的小伙伴。先…...
(金蝶云星空)客户端追踪SQL
快捷键 ShitfCtryAltM 点击开始、最后操作功能、然后查看报告 SQL报告...
OAK相机:纯视觉SLAM在夜晚的应用
哈喽,OAK的朋友们,大家好啊,今天这个视频主要想分享一下袁博士团队用我们的OAK相机产出的新成果 在去年过山车SLAM的演示中,袁博士团队就展示了纯视觉SLAM在完全黑暗的环境中的极高鲁棒性。 现在袁博士团队进一步挖掘了纯视觉的潜…...
发送方确认
在使用RabbitMQ的时候,可以通过消息持久化来解决因为服务器的异常而导致的消息就是,但是还有一个问题,当消息的生产者将消息发送出去之后,消息到底有没有正确地到达服务器呢?如果消息在到达服务器之前已经丢失…...
如何使用HighBuilder前端开发神器
一,前言 前端开发是网页和应用程序设计与开发中的一个重要分支,直接涉及用户界面的构建和用户与网页的交互。前端是用户在浏览器中看到的部分,负责为用户提供良好的体验。 二,前段介绍 1. 前端的组成 前端开发主要由三个核心技…...
发现了NitroShare的一个bug
NitroShare 是一个跨平台的局域网开源网络文件传输应用程序,它利用广播发现机制在本地网络中找到其他安装了 NitroShare 的设备,从而实现这些设备之间的文件和文件夹发送。 NitroShare 支持 Windows、macOS 和 Linux 操作系统。 NitroShare允许我们为…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
