Section

Building Flexible and Customizable Sections for Your Theme
Sections are a powerful feature in CocoShop themes that allow you to create modular, reusable pieces of content. They can be easily added, removed, or reordered on different templates to create a variety of unique layouts for your store. Sections also offer a way for store owners to easily customize the appearance and functionality of their store without the need for any coding knowledge.
In this guide, we'll provide an overview of how sections work in CocoShop themes, how to create and use them, and best practices for working with sections.

What is a Section?

A section is a self-contained piece of content that can be added to any template in your theme. Examples of sections include headers, footers, sliders, featured products, testimonials, and image galleries. Sections are defined using Liquid, the same templating language used for creating templates and snippets.
Sections can have their own settings, allowing store owners to customize the appearance and functionality of a section directly from the theme editor. This makes it easy for non-technical users to make changes to their store without having to modify the theme's code.

Creating a Section

To create a new section, you'll need to create a new Liquid file in the sections folder of your theme. The file name should describe the purpose of the section and end with the .liquid file extension. For example, a section file for a slideshow might be named slideshow.liquid.
Inside the section file, you'll write the HTML, Liquid, and any other code needed to generate the section's content. You can also include any section-specific settings using the
tag, which will allow store owners to customize the section through the theme editor.
Here's an example of a simple section file:
{% schema %}
{
"name": "Featured Products",
"settings": [
{
"type": "text",
"id": "title",
"label": "Section Title",
"default": "Featured Products"
}
]
}
{% endschema %}
​
<div class="featured-products">
<h2>{{ section.settings.title }}</h2>
<ul>
{% for product in collection.products %}
<li>{{ product.name }}</li>
{% endfor %}
</ul>
</div>
If you want to know more about the structure of the section schema, please refer to "Section schema".

Adding a Section to a Template

To include a section in a template, you'll use the {% section %} tag followed by the name of the section file (without the .liquid extension). For example, to add the featured-products section to a template, you'd use the following code:
{% section 'featured-products' %}
You can add the same section multiple times in a template, and each instance can have its own unique settings. This is useful for creating dynamic layouts that can be easily customized by store owners.

Best Practices for Working with Sections

When working with sections in CocoShop themes, it's important to follow some best practices to ensure that your theme is easy to maintain and customize:
  1. 1.
    Use descriptive file names: Choose file names that clearly describe the purpose of the section. This will make it easier for other developers to understand your theme's structure and organization.
  2. 2.
    Keep sections modular: Design your sections to be self-contained and modular, so they can be easily added, removed, or reordered without affecting the overall layout of the template.
  3. 3.
    Reuse sections when possible: If you have similar functionality or design patterns across multiple sections, consider consolidating them into a single, reusable section. This can help reduce code duplication and make your theme easier to maintain.
  4. 4.
    Provide clear customization options: When defining settings for your sections, use clear and descriptive labels and instructions to help store owners understand how to customize the section. Choose sensible default values to ensure that the section looks and functions well out-of-the-box.
  5. 5.
    Test your sections thoroughly: Make sure to test your sections across different devices, browsers, and screen sizes to ensure that they display and function correctly in all environments. This will help ensure a consistent user experience for your store's visitors.
  6. 6.
    Document your sections: Write clear and concise documentation for each section, explaining its purpose, functionality, and customization options. This will help other developers and store owners understand how to use and modify your sections.
  7. 7.
    Organize your sections logically: Group related sections together in your theme's folder structure. This will make it easier for developers and store owners to find and work with the sections they need.
  8. 8.
    Use snippets for smaller, reusable pieces of code: If you have smaller pieces of code that are reused across multiple sections, consider turning them into snippets. Snippets are similar to sections but are typically used for smaller, more focused pieces of code, such as a social media icon set or a newsletter signup form.
By following these best practices, you'll create a flexible and maintainable theme architecture that makes it easy for store owners to customize their store's appearance and functionality without needing any coding knowledge. This will ultimately lead to a better user experience for both store owners and their customers.
Last modified 8mo ago