# Layouts

Layouts are a fundamental aspect of CocoShop, as they provide the structure and design for the entire storefront. They serve as a reusable template for different pages and sections of the store, ensuring a consistent look and feel across the site.

In this document, we will explore the various aspects of layouts in a CocoShop, including their purpose, how to create them, and how to manage and customize them.

### Purpose of Layouts

Layouts in CocoShop serve several purposes:

1. **Consistency**: Layouts ensure a consistent look and feel throughout the store, providing a unified user experience.
2. **Efficiency**: By reusing the same layout for multiple pages, developers can avoid duplicating code and streamline the development process.
3. **Customization**: Layouts allow store owners to easily customize the appearance of their store without changing the underlying code.

### Creating a Layout

In CocoShop, layouts are typically created using Liquid, a powerful templating language. A layout is essentially an HTML file containing Liquid tags, which define the structure and appearance of the store.

To create a new layout, follow these steps:

1. In your theme's directory, create a new folder named `layouts` if it doesn't already exist.
2. Inside the `layouts` folder, create a new file with a `.liquid` extension, such as `main-layout.liquid`.
3. Open the newly created file and start building your layout using HTML and Liquid tags. Be sure to include the `{% content_for_layout %}` tag in your layout, as this will serve as a placeholder for the content of individual pages.

Here's a simple example of a layout file:

```
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
  {% render 'header' %}
  
  <main>
    {% content_for_layout %}
  </main>

  {% render 'footer' %}
</body>
</html>

```

In this example, the layout includes a header, main content area, and footer.

### Conclusion

Layouts play a crucial role in CocoShop, providing a consistent and customizable structure for the store. By understanding the purpose of layouts and how to create and manage them, developers can build powerful and flexible online stores that cater to the unique needs of their clients.\
