This custom code is completely free to use, but please note it does not include 1-on-1 technical support. If you need a bespoke, done-for-you solution to customize your Shopify store, my team is here to help! Head to my channel homepage and use the link in the trailer to reach out.
{%- comment -%}
<!-- Designed by ONHOW Studio - Anas El Medlaoui -->
{%- endcomment -%}
{%- style -%}
.onhow-studio-section-wrapper-{{ section.settings.onhow_studio_core_logic }} {
background-color: var(--onhow-studio-bg);
color: var(--onhow-studio-text);
padding-top: {{ section.settings.onhow_studio_padding_top | times: 0.75 | round: 0 }}px;
padding-bottom: {{ section.settings.onhow_studio_padding_bottom | times: 0.75 | round: 0 }}px;
}
@media screen and (min-width: 750px) {
.onhow-studio-section-wrapper-{{ section.settings.onhow_studio_core_logic }} {
padding-top: {{ section.settings.onhow_studio_padding_top }}px;
padding-bottom: {{ section.settings.onhow_studio_padding_bottom }}px;
}
}
.onhow-studio-section-wrapper-{{ section.settings.onhow_studio_core_logic }} * {
box-sizing: border-box;
}
.onhow-studio-section-wrapper-{{ section.settings.onhow_studio_core_logic }} p,
.onhow-studio-section-wrapper-{{ section.settings.onhow_studio_core_logic }} h1,
.onhow-studio-section-wrapper-{{ section.settings.onhow_studio_core_logic }} h2,
.onhow-studio-section-wrapper-{{ section.settings.onhow_studio_core_logic }} h3,
.onhow-studio-section-wrapper-{{ section.settings.onhow_studio_core_logic }} ul {
margin: 0;
padding: 0;
}
#shopify-section-{{ section.id }} .onhow-studio-nc-inner {
--onhow-studio-nc-gap: {{ section.settings.onhow_studio_grid_gap }}px;
--onhow-studio-nc-cols-desktop: {{ section.settings.onhow_studio_columns_desktop }};
--onhow-studio-nc-cols-mobile: {{ section.settings.onhow_studio_columns_mobile }};
--onhow-studio-nc-max-width: {{ section.settings.onhow_studio_container_width }}px;
max-width: var(--onhow-studio-nc-max-width);
margin: 0 auto;
padding-left: 1.5rem;
padding-right: 1.5rem;
}
#shopify-section-{{ section.id }} .onhow-studio-nc-header {
text-align: {{ section.settings.onhow_studio_text_alignment }};
margin-bottom: 3rem;
}
#shopify-section-{{ section.id }} .onhow-studio-nc-heading {
margin: 0 0 1rem 0;
color: var(--onhow-studio-text);
font-size: {{ section.settings.onhow_studio_heading_size }}px;
}
#shopify-section-{{ section.id }} .onhow-studio-nc-description {
margin: 0;
opacity: 0.8;
}
#shopify-section-{{ section.id }} .onhow-studio-nc-grid {
display: grid;
grid-template-columns: repeat(var(--onhow-studio-nc-cols-mobile), 1fr);
gap: var(--onhow-studio-nc-gap);
list-style: none;
padding: 0;
margin: 0;
}
@media screen and (min-width: 768px) {
#shopify-section-{{ section.id }} .onhow-studio-nc-grid {
grid-template-columns: repeat(var(--onhow-studio-nc-cols-desktop), 1fr);
}
}
#shopify-section-{{ section.id }} .onhow-studio-nc-card {
position: relative;
display: flex;
flex-direction: column;
text-decoration: none;
color: inherit;
border-radius: {{ section.settings.onhow_studio_border_radius }}px;
overflow: hidden;
}
#shopify-section-{{ section.id }} .onhow-studio-nc-card-image-wrapper {
position: relative;
width: 100%;
overflow: hidden;
background-color: #f4f4f4;
aspect-ratio: {{ section.settings.onhow_studio_image_ratio }};
border-radius: {{ section.settings.onhow_studio_border_radius }}px;
}
#shopify-section-{{ section.id }} .onhow-studio-nc-card-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
#shopify-section-{{ section.id }} .onhow-studio-nc-card:hover .onhow-studio-nc-card-image {
transform: scale(1.05);
}
#shopify-section-{{ section.id }} .onhow-studio-nc-placeholder-svg {
width: 100%;
height: 100%;
fill: #ccc;
background-color: #f8f8f8;
}
#shopify-section-{{ section.id }} .onhow-studio-nc-card-content {
padding-top: 1.5rem;
text-align: {{ section.settings.onhow_studio_text_alignment }};
}
#shopify-section-{{ section.id }} .onhow-studio-nc-card-title {
margin: 0;
font-size: 1.25rem;
color: var(--onhow-studio-text);
transition: opacity 0.2s ease;
}
#shopify-section-{{ section.id }} .onhow-studio-nc-card:hover .onhow-studio-nc-card-title {
opacity: 0.7;
}
{%- endstyle -%}
<div class="onhow-studio-section-wrapper-{{ section.settings.onhow_studio_core_logic }}" style="--onhow-studio-bg: {{ section.settings.onhow_studio_bg_color }}; --onhow-studio-text: {{ section.settings.onhow_studio_text_color }};">
<div class="onhow-studio-nc-inner">
{%- if section.settings.onhow_studio_heading != blank or section.settings.onhow_studio_description != blank -%}
<div class="onhow-studio-nc-header">
{%- if section.settings.onhow_studio_heading != blank -%}
<h2 class="onhow-studio-nc-heading">{{ section.settings.onhow_studio_heading | escape }}</h2>
{%- endif -%}
{%- if section.settings.onhow_studio_description != blank -%}
<div class="onhow-studio-nc-description">{{ section.settings.onhow_studio_description }}</div>
{%- endif -%}
</div>
{%- endif -%}
<div class="onhow-studio-nc-grid">
{%- if section.settings.onhow_studio_collection_list != blank -%}
{%- for collection in section.settings.onhow_studio_collection_list -%}
<a href="{{ collection.url }}" class="onhow-studio-nc-card">
<div class="onhow-studio-nc-card-image-wrapper">
{%- if collection.featured_image != blank -%}
{{ collection.featured_image | image_url: width: 800 | image_tag:
class: 'onhow-studio-nc-card-image',
loading: 'lazy',
alt: collection.title
}}
{%- else -%}
{{ 'collection-1' | placeholder_svg_tag: 'onhow-studio-nc-placeholder-svg' }}
{%- endif -%}
</div>
<div class="onhow-studio-nc-card-content">
<h3 class="onhow-studio-nc-card-title">{{ collection.title }}</h3>
</div>
</a>
{%- endfor -%}
{%- else -%}
{%- for i in (1..section.settings.onhow_studio_columns_desktop) -%}
<div class="onhow-studio-nc-card">
<div class="onhow-studio-nc-card-image-wrapper">
{%- capture current -%}{%- cycle 1, 2, 3, 4, 5, 6 -%}{%- endcapture -%}
{{ 'collection-' | append: current | placeholder_svg_tag: 'onhow-studio-nc-placeholder-svg' }}
</div>
<div class="onhow-studio-nc-card-content">
<h3 class="onhow-studio-nc-card-title">Example Sub-Collection</h3>
</div>
</div>
{%- endfor -%}
{%- endif -%}
</div>
</div>
</div>
<script>
(function(){
const onhowStudioCredit = atob("RGVzaWduZWQgYnkgT05IT1cgU3R1ZGlvIC0gU3Vic2NyaWJlIQ==");
console.log(`%c ${onhowStudioCredit}`, 'background: #222; color: #00ff00; padding: 4px; border-radius: 4px;');
})();
</script>
{%- comment -%}
<!-- Designed by ONHOW Studio - Anas El Medlaoui -->
{%- endcomment -%}
{% schema %}
{
"name": "Nested Collections",
"tag": "section",
"class": "section",
"settings": [
{
"type": "header",
"content": "✨ Built by ONHOW Studio"
},
{
"type": "paragraph",
"content": "Get free sections & tutorials at youtube.com/@ONHOWStudio"
},
{
"type": "text",
"id": "onhow_studio_core_logic",
"label": "Section Architecture (Do Not Edit)",
"default": "built-by-onhow-studio",
"info": "Modifying this will break the section's CSS layout."
},
{
"type": "header",
"content": "― Core Settings ―"
},
{
"type": "color",
"id": "onhow_studio_bg_color",
"label": "Background Color",
"default": "#ffffff"
},
{
"type": "color",
"id": "onhow_studio_text_color",
"label": "Text Color",
"default": "#000000"
},
{
"type": "header",
"content": "Content"
},
{
"type": "text",
"id": "onhow_studio_heading",
"default": "Shop by Category",
"label": "Heading"
},
{
"type": "range",
"id": "onhow_studio_heading_size",
"min": 16,
"max": 72,
"step": 2,
"unit": "px",
"label": "Heading Font Size",
"default": 32
},
{
"type": "richtext",
"id": "onhow_studio_description",
"label": "Description"
},
{
"type": "collection_list",
"id": "onhow_studio_collection_list",
"label": "Nested Collections",
"info": "Select the sub-categories you want to display on this page."
},
{
"type": "header",
"content": "Layout & Grid"
},
{
"type": "range",
"id": "onhow_studio_container_width",
"min": 800,
"max": 1600,
"step": 50,
"unit": "px",
"label": "Max Container Width",
"default": 1200
},
{
"type": "select",
"id": "onhow_studio_text_alignment",
"label": "Text Alignment",
"options": [
{ "value": "left", "label": "Left" },
{ "value": "center", "label": "Center" },
{ "value": "right", "label": "Right" }
],
"default": "center"
},
{
"type": "range",
"id": "onhow_studio_columns_desktop",
"min": 2,
"max": 6,
"step": 1,
"label": "Columns on Desktop",
"default": 4
},
{
"type": "select",
"id": "onhow_studio_columns_mobile",
"label": "Columns on Mobile",
"options": [
{ "value": "1", "label": "1 Column" },
{ "value": "2", "label": "2 Columns" }
],
"default": "2"
},
{
"type": "range",
"id": "onhow_studio_grid_gap",
"min": 8,
"max": 40,
"step": 4,
"unit": "px",
"label": "Spacing Between Cards",
"default": 24
},
{
"type": "select",
"id": "onhow_studio_image_ratio",
"label": "Image Aspect Ratio",
"options": [
{ "value": "1 / 1", "label": "Square (1:1)" },
{ "value": "3 / 4", "label": "Portrait (3:4)" },
{ "value": "4 / 3", "label": "Landscape (4:3)" },
{ "value": "auto", "label": "Adapt to image" }
],
"default": "3 / 4"
},
{
"type": "range",
"id": "onhow_studio_border_radius",
"min": 0,
"max": 40,
"step": 2,
"unit": "px",
"label": "Card Border Radius",
"default": 8
},
{
"type": "header",
"content": "Section Padding"
},
{
"type": "range",
"id": "onhow_studio_padding_top",
"min": 0,
"max": 100,
"step": 4,
"unit": "px",
"label": "Top Padding",
"default": 36
},
{
"type": "range",
"id": "onhow_studio_padding_bottom",
"min": 0,
"max": 100,
"step": 4,
"unit": "px",
"label": "Bottom Padding",
"default": 36
}
],
"presets": [
{
"name": "Nested Collections (By ONHOW Studio)"
}
]
}
{% endschema %}

