Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

141
Views
¿Cómo uso la interpolación de cadenas JS para insertar secciones de Shopify? ('no es un tipo de sección válido')

Estoy creando una plantilla de 'vista' para las etiquetas de ciertos blogs. Estoy agarrando el nombre de la ruta con javascript e intentando insertar una sección de héroe en función de la etiqueta en la que se encuentra el usuario. Si codifico el nombre del blog y la etiqueta en la cadena de la sección, funciona. Pero si trato de interpolar las variables en él, obtengo un error de líquido.

El código:

 const pathName = window.location.pathname; let blog_div = document.getElementById('blog-hero'); let blogName = pathName.split('/')[2]; let tagName = pathName.split('/')[4]; return blog_div.innerHTML = `{% section 'blog--hero-${blogName}-blog--${tagName}' %}`;

Salida esperada: la sección se carga en la pantalla

Salida real: Nada en pantalla. Error en HTML: 'Error de líquido: Error en la etiqueta 'sección' - 'blog--hero-(blogName)-blog--(tagName)' no es un tipo de sección válido'

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Terminé usando la API de representación de secciones, según los documentos .

Pero la línea JSON.parse() no funcionó. Así que tuve que usar los métodos onload, readyState y status según los documentos de MDN

El nuevo código terminó luciendo como

 const pathName = window.location.pathname; let blog_div = document.getElementById('blog-hero'); let blogName = pathName.split('/')[2]; let tagName = pathName.split('/')[4]; let request = new XMLHttpRequest(); request.open('GET', `/?section_id=blog--hero-${blogName}-blog--${tagName}`) request.onload = () => { if(request.readyState === request.DONE) { if (request.status === 200) { blog_div.innerHTML = request.responseText; } } }; request.send(null);
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!