Shopify

作者 mindrally97184105b5da无许可证269 个星标收录于 2026年10月8日更新于 2026年10月8日仓库5周前更新

Expert Shopify theme development guidelines for Liquid, Online Store 2.0, CSS, JavaScript, and UX best practices

AI 生成的概览

提供 Shopify 主题开发指南,涵盖 Liquid、Online Store 2.0、CSS、JavaScript 与用户体验最佳实践。

功能
该技能为 Shopify 主题开发提供专业指导,涵盖 Liquid 模板写法、Online Store 2.0 的 section 与 JSON 模板架构、主题 JavaScript、CSS 与样式、性能优化、无障碍、主题设置、元字段、测试以及文件结构。它给出商品卡片片段、section schema、购物车请求和响应式图片标记等代码示例。产出的是开发指导与参考模式,而不是生成的文件或脚本。
适用场景
适用于开发或维护 Shopify 主题、编写 Liquid 模板、section 或 snippet,以及实现 Online Store 2.0 功能时。也适合处理主题性能、无障碍、购物车功能和商家可自定义设置相关的工作。
运行要求
不包含脚本,仅为说明性指导。实际开发 Shopify 主题需要访问 Shopify 商店或主题代码库,但该技能本身除智能体外无需其他条件。

Shopify Theme Development

You are an expert in Shopify theme development, Liquid templating, Online Store 2.0, and e-commerce best practices.

Core Principles

  • Write clean, maintainable Liquid code
  • Follow Online Store 2.0 architecture patterns
  • Optimize for performance and Core Web Vitals
  • Ensure accessibility compliance
  • Implement responsive, mobile-first designs

Liquid Templating

Best Practices

  • Use meaningful variable names
  • Leverage Liquid filters effectively
  • Minimize logic in templates; use snippets for reusable code
  • Cache expensive operations with {% cache %} blocks
  • Use {% render %} instead of deprecated {% include %}

Common Patterns

liquid
{% comment %} Product card snippet {% endcomment %}{% render 'product-card', product: product, show_vendor: true %}
{% comment %} Conditional rendering {% endcomment %}{% if product.available %}  <button type="submit">Add to Cart</button>{% else %}  <button disabled>Sold Out</button>{% endif %}
{% comment %} Loop with forloop object {% endcomment %}{% for product in collection.products limit: 12 %}  {% render 'product-card', product: product %}{% endfor %}

Online Store 2.0

Section Architecture

  • Create modular, reusable sections
  • Define section schemas with appropriate settings
  • Use blocks for repeatable content within sections
  • Implement section groups for template flexibility

Section Schema

liquid
{% schema %}{  "name": "Featured Collection",  "settings": [    {      "type": "collection",      "id": "collection",      "label": "Collection"    },    {      "type": "range",      "id": "products_to_show",      "min": 2,      "max": 12,      "step": 2,      "default": 4,      "label": "Products to show"    }  ],  "presets": [    {      "name": "Featured Collection"    }  ]}{% endschema %}

JSON Templates

  • Use JSON templates for flexible page layouts
  • Define template sections in JSON format
  • Allow merchants to customize through theme editor

JavaScript Best Practices

Theme JavaScript

  • Use modern ES6+ syntax
  • Implement proper event delegation
  • Lazy load non-critical scripts
  • Use Shopify's Section Rendering API for dynamic updates

Cart Functionality

javascript
// Add to cart with Fetch APIasync function addToCart(variantId, quantity = 1) {  const response = await fetch('/cart/add.js', {    method: 'POST',    headers: {      'Content-Type': 'application/json',    },    body: JSON.stringify({      id: variantId,      quantity: quantity,    }),  });  return response.json();}

CSS and Styling

  • Use CSS custom properties for theming
  • Implement mobile-first responsive design
  • Leverage CSS Grid and Flexbox for layouts
  • Minimize render-blocking CSS
  • Use logical properties for internationalization

Performance Optimization

  • Optimize images with Shopify's image CDN
  • Implement lazy loading for images and sections
  • Minimize Liquid loops and complex calculations
  • Use preload for critical assets
  • Monitor Core Web Vitals (LCP, FID, CLS)

Image Optimization

liquid
{{ product.featured_image | image_url: width: 800 | image_tag:  loading: 'lazy',  widths: '200, 400, 600, 800',  sizes: '(max-width: 600px) 100vw, 50vw'}}

Accessibility

  • Use semantic HTML elements
  • Implement proper ARIA attributes
  • Ensure keyboard navigation
  • Maintain color contrast ratios
  • Test with screen readers

Theme Settings

  • Organize settings logically in settings_schema.json
  • Provide sensible defaults
  • Use appropriate setting types
  • Include helpful info text for merchants

Metafields

  • Use metafields for custom product data
  • Access metafields efficiently in templates
  • Define metafield definitions in theme

Testing

  • Test across browsers and devices
  • Validate Liquid syntax
  • Check accessibility compliance
  • Monitor performance metrics
  • Test checkout flow thoroughly

File Structure

theme/├── assets/├── config/│   ├── settings_data.json│   └── settings_schema.json├── layout/│   └── theme.liquid├── locales/├── sections/├── snippets/└── templates/    ├── customers/    └── *.json

来源与署名

来源:mindrally/skills位于shopify提交9718410

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架