How to list mp3 file links on the product page with voting option?

Imgn8r
Visitor
1 0 0

I plan to sell a product that plays mp3 sound clips. The mp3 sound clips (<30s each) would be listed in a table format (columns: file name, listen-online link, download link, vote up/down buttons) and be available to download for free. The users should be able to up/down vote the sound files so the highest voted mp3 files are always on top.

What would be the best way to achieve this? Will appreciate any guidance.

Reply 1 (1)
EcomGraduates
Shopify Partner
588 48 73

Hello there

To list MP3 file links on a Shopify product page with a voting option, you can use the following steps:

  1. Create a custom field in your Shopify store's product data to store the MP3 file links. You can do this by going to "Products > Custom fields" in the admin panel, and adding a new field of type "File."
  2. In the theme editor, open the "product-template.liquid" file from the "Sections" directory. This file contains the code for the product pages in your store.
  3. Add a section of code to the product template to loop through the MP3 file links and display them as a list. You can use the custom field you created in step 1 to access the file links. Here is an example of how you can do this:

 

{% for mp3 in product.custom_field_name %}
  <li>
    <a href="{{ mp3.url }}" download>{{ mp3.title }}</a>
    <form action="/vote" method="post">
      <input type="hidden" name="mp3_id" value="{{ mp3.id }}">
      <button type="submit" name="vote">Vote</button>
    </form>
  </li>
{% endfor %}

 

  1. Create a page or template to handle the voting form submissions. You can do this by creating a new page in the Shopify admin panel, or by creating a new template file in the "Templates" directory of the theme editor.
  2. In the voting page or template, add code to process the form submission and update the vote count for the selected MP3 file. You can use the Shopify API to update the custom field for the product, or you can use a third-party app or service to store the vote count.

hope this helps!

banned