Making multiculumn images clickable

Topic summary

A user seeks help making images in a multi-column section clickable on their Shopify store (Pete’s Rubbers). The section displays brand logos that currently lack clickable functionality.

Initial Solutions Provided:

  • One responder suggests using built-in theme settings to enable clickable images
  • Another provides detailed code modifications to the multicolumn.liquid file, including:
    • Adding conditional wrapper code around media elements
    • Inserting a checkbox setting for “Make image clickable”
    • Adding CSS styling for image display and hover effects

Implementation Issues:

  • The user struggles to locate where to place the final CSS code snippet
  • After receiving complete replacement code for the entire file, new problems emerge:
    • Logos disappear completely on mobile view
    • Images remain non-clickable on desktop

Current Status:
The issue remains unresolved. The user has implemented the suggested code changes but encountered unexpected side effects, and the original goal of making multi-column images clickable has not been achieved. The discussion is ongoing with the user requesting further assistance.

Summarized with AI on October 31. AI used: claude-sonnet-4-5-20250929.

Hi I am in need of making the images on multiculumn clickable.

This is the store: Pete’s Rubbers

If I could get help I would really appreciate it.

Hi @Rio_Omnis

You can make your multi-column clickable from here.

If my reply is helpful, kindly click like and mark it as an accepted solution.
Thanks!

Hello @Rio

Please follow the steps to modify your theme and enable clickable images in the multi-column section:

  1. Log in to your Shopify Admin.

  2. Go to: Online Store > Themes.

  3. Locate the theme you want to edit and click Actions > Edit code.

  4. In the code editor, search for “multicolumn.liquid” and open the file

  5. Inside this file, search for “media–transparent”, select the code highlighted in the screenshot, and replace it with the code provided below:

:pushpin: Reference Screenshot: New Code Screenshot

Code to Add:

{% if block.settings.clickable_image %}
   
{% endif %}
  {%- liquid
    assign number_of_columns = section.settings.columns_desktop
    assign number_of_columns_mobile = section.settings.columns_mobile
    assign grid_space_desktop = number_of_columns | minus: 1 | times: settings.spacing_grid_horizontal | plus: 100 | append: 'px'
    assign grid_space_tablet = number_of_columns_mobile | minus: 1 | times: settings.spacing_grid_horizontal | plus: 100 | append: 'px'
    assign grid_space_mobile = number_of_columns_mobile | minus: 1 | times: settings.spacing_grid_horizontal | divided_by: 2 | plus: 30 | append: 'px'
    if section.settings.image_width == 'half'
      assign image_width = 0.5
    elsif section.settings.image_width == 'third'
      assign image_width = 0.33
    else
      assign image_width = 1
    endif
  -%}
  {% capture sizes %}
    (min-width: {{ settings.page_width }}px) calc(({{ settings.page_width }}px - {{ grid_space_desktop }}) * {{ image_width }} /  {{ number_of_columns }}),
    (min-width: 990px) calc((100vw - {{ grid_space_desktop }}) * {{ image_width }} / {{ number_of_columns }}),
    (min-width: 750px) calc((100vw - {{ grid_space_tablet }}) * {{ image_width }} / {{ number_of_columns_mobile }}),
    calc((100vw - {{ grid_space_mobile }}) * {{ image_width }} / {{ number_of_columns_mobile }})
  {% endcapture %}
  {{
    block.settings.image
    | image_url: width: 3200
    | image_tag:
      widths: '50, 75, 100, 150, 200, 300, 400, 500, 750, 1000, 1250, 1500, 1750, 2000, 2250, 2500, 2750, 3000, 3200',
      sizes: sizes,
      class: 'multicolumn-card__image'
  }}
{% if block.settings.clickable_image %}
   
{% endif %}

6. Search for “image_picker” in the same file and add the following code below it. This enables a clickable image setting in the theme editor.
:pushpin: Reference Screenshot: View Screenshot

{
  "type": "checkbox",
  "id": "clickable_image",
  "label": "Make image clickable",
  "default": true
}
  1. Search for “endstyle” in the same file and add the following code above it. Reference screenshot: View Screenshot
    Code to Add:
.multicolumn-list__item .media--adapt .multicolumn-card__image {
    height: 100%;
  }
  .multicolumn-card__image-wrapper .media a img {
      height: 100%;
      width: 100%;
      object-fit: cover;
      object-position: center center;
      transition: opacity .4s cubic-bezier(.25,.46,.45,.94);
  }

8**. Save the file.**

Now, images in the multi-column section will be clickable based on the settings.

Please hit Like and Mark it as a Solution if you find our reply helpful.

The last code you have provided I don’t know where to place it because I don’t have anything that looks like that in my code. I am attaching screenshots maybe you can let me know where I can place it.

Hello @Rio_Omnis

As we have seen, you are in the correct file, but you have not gotten where to add code, so please replace the full code of the file with the one below code:

{{ 'section-multicolumn.css' | asset_url | stylesheet_tag }}
{{ 'component-slider.css' | asset_url | stylesheet_tag }}

{%- style -%}
  .section-{{ section.id }}-padding {
    padding-top: {{ section.settings.padding_top | times: 0.75 | round: 0 }}px;
    padding-bottom: {{ section.settings.padding_bottom | times: 0.75 | round: 0 }}px;
  }

  @media screen and (min-width: 750px) {
    .section-{{ section.id }}-padding {
      padding-top: {{ section.settings.padding_top }}px;
      padding-bottom: {{ section.settings.padding_bottom }}px;
    }
  }
  .multicolumn-list__item .media--adapt .multicolumn-card__image {
    height: 100%;
  }
  .multicolumn-card__image-wrapper .media a img {
      height: 100%;
      width: 100%;
      object-fit: cover;
      object-position: center center;
      transition: opacity .4s cubic-bezier(.25,.46,.45,.94);
  }
{%- endstyle -%}

{%- liquid
  assign columns_mobile_int = section.settings.columns_mobile | plus: 0
  assign show_mobile_slider = false
  if section.settings.swipe_on_mobile and section.blocks.size > columns_mobile_int
    assign show_mobile_slider = true
  endif
-%}

  

    {%- unless section.settings.title == blank -%}
      

        ## 
          {{ section.settings.title }}
        
        {%- if section.settings.button_label != blank and show_mobile_slider -%}
          
            {{- section.settings.button_label | escape -}}
          
        {%- endif -%}
      

    {%- endunless -%}
    
    

      {%- if section.settings.button_label != blank -%}
        
          {{ section.settings.button_label | escape }}
        
      {%- endif -%}
    

  

{% schema %}
{
  "name": "t:sections.multicolumn.name",
  "class": "section",
  "tag": "section",
  "disabled_on": {
    "groups": ["header", "footer"]
  },
  "settings": [
    {
      "type": "inline_richtext",
      "id": "title",
      "default": "t:sections.multicolumn.settings.title.default",
      "label": "t:sections.multicolumn.settings.title.label"
    },
    {
      "type": "select",
      "id": "heading_size",
      "options": [
        {
          "value": "h2",
          "label": "t:sections.all.heading_size.options__1.label"
        },
        {
          "value": "h1",
          "label": "t:sections.all.heading_size.options__2.label"
        },
        {
          "value": "h0",
          "label": "t:sections.all.heading_size.options__3.label"
        },
        {
          "value": "hxl",
          "label": "t:sections.all.heading_size.options__4.label"
        },
        {
          "value": "hxxl",
          "label": "t:sections.all.heading_size.options__5.label"
        }
      ],
      "default": "h1",
      "label": "t:sections.all.heading_size.label"
    },
    {
      "type": "select",
      "id": "image_width",
      "options": [
        {
          "value": "third",
          "label": "t:sections.multicolumn.settings.image_width.options__1.label"
        },
        {
          "value": "half",
          "label": "t:sections.multicolumn.settings.image_width.options__2.label"
        },
        {
          "value": "full",
          "label": "t:sections.multicolumn.settings.image_width.options__3.label"
        }
      ],
      "default": "full",
      "label": "t:sections.multicolumn.settings.image_width.label"
    },
    {
      "type": "select",
      "id": "image_ratio",
      "options": [
        {
          "value": "adapt",
          "label": "t:sections.multicolumn.settings.image_ratio.options__1.label"
        },
        {
          "value": "portrait",
          "label": "t:sections.multicolumn.settings.image_ratio.options__2.label"
        },
        {
          "value": "square",
          "label": "t:sections.multicolumn.settings.image_ratio.options__3.label"
        },
        {
          "value": "circle",
          "label": "t:sections.multicolumn.settings.image_ratio.options__4.label"
        }
      ],
      "default": "adapt",
      "label": "t:sections.multicolumn.settings.image_ratio.label"
    },
    {
      "type": "range",
      "id": "columns_desktop",
      "min": 1,
      "max": 6,
      "step": 1,
      "default": 3,
      "label": "t:sections.multicolumn.settings.columns_desktop.label"
    },
    {
      "type": "select",
      "id": "column_alignment",
      "options": [
        {
          "value": "left",
          "label": "t:sections.multicolumn.settings.column_alignment.options__1.label"
        },
        {
          "value": "center",
          "label": "t:sections.multicolumn.settings.column_alignment.options__2.label"
        }
      ],
      "default": "left",
      "label": "t:sections.multicolumn.settings.column_alignment.label"
    },
    {
      "type": "select",
      "id": "background_style",
      "options": [
        {
          "value": "none",
          "label": "t:sections.multicolumn.settings.background_style.options__1.label"
        },
        {
          "value": "primary",
          "label": "t:sections.multicolumn.settings.background_style.options__2.label"
        }
      ],
      "default": "primary",
      "label": "t:sections.multicolumn.settings.background_style.label"
    },
    {
      "type": "text",
      "id": "button_label",
      "default": "t:sections.multicolumn.settings.button_label.default",
      "label": "t:sections.multicolumn.settings.button_label.label"
    },
    {
      "type": "url",
      "id": "button_link",
      "label": "t:sections.multicolumn.settings.button_link.label"
    },
    {
      "type": "color_scheme",
      "id": "color_scheme",
      "label": "t:sections.all.colors.label",
      "default": "scheme-1"
    },
    {
      "type": "header",
      "content": "t:sections.multicolumn.settings.header_mobile.content"
    },
    {
      "type": "select",
      "id": "columns_mobile",
      "options": [
        {
          "value": "1",
          "label": "t:sections.multicolumn.settings.columns_mobile.options__1.label"
        },
        {
          "value": "2",
          "label": "t:sections.multicolumn.settings.columns_mobile.options__2.label"
        }
      ],
      "default": "1",
      "label": "t:sections.multicolumn.settings.columns_mobile.label"
    },
    {
      "type": "checkbox",
      "id": "swipe_on_mobile",
      "default": false,
      "label": "t:sections.multicolumn.settings.swipe_on_mobile.label"
    },
    {
      "type": "header",
      "content": "t:sections.all.padding.section_padding_heading"
    },
    {
      "type": "range",
      "id": "padding_top",
      "min": 0,
      "max": 100,
      "step": 4,
      "unit": "px",
      "label": "t:sections.all.padding.padding_top",
      "default": 36
    },
    {
      "type": "range",
      "id": "padding_bottom",
      "min": 0,
      "max": 100,
      "step": 4,
      "unit": "px",
      "label": "t:sections.all.padding.padding_bottom",
      "default": 36
    }
  ],
  "blocks": [
    {
      "type": "column",
      "name": "t:sections.multicolumn.blocks.column.name",
      "settings": [
        {
          "type": "image_picker",
          "id": "image",
          "label": "t:sections.multicolumn.blocks.column.settings.image.label"
        },
        {
          "type": "checkbox",
          "id" :"clickable_image",
          "label": "Make image clickable",
          "default":true,
        },
        {
          "type": "inline_richtext",
          "id": "title",
          "default": "t:sections.multicolumn.blocks.column.settings.title.default",
          "label": "t:sections.multicolumn.blocks.column.settings.title.label"
        },
        {
          "type": "richtext",
          "id": "text",
          "default": "t:sections.multicolumn.blocks.column.settings.text.default",
          "label": "t:sections.multicolumn.blocks.column.settings.text.label"
        },
        {
          "type": "text",
          "id": "link_label",
          "label": "t:sections.multicolumn.blocks.column.settings.link_label.label"
        },
        {
          "type": "url",
          "id": "link",
          "label": "t:sections.multicolumn.blocks.column.settings.link.label"
        }
      ]
    }
  ],
  "presets": [
    {
      "name": "t:sections.multicolumn.presets.name",
      "blocks": [
        {
          "type": "column"
        },
        {
          "type": "column"
        },
        {
          "type": "column"
        }
      ]
    }
  ]
}
{% endschema %}

If you still don’t see any updates after making the changes, you can share a full screenshot of your code, and we’ll provide instructions accordingly.

Please hit Like and Mark it as a Solution if you find our reply helpful.

It erased the logos from the multicolumns on mobile and on desktop they are still unclickable.

Pete’s Rubbers

I need the images to be clickable