Recuperar todas las colecciones de Shopify que coincidan con una etiqueta específica

StackOverflow https://stackoverflow.com//questions/20052954

  •  27-12-2019
  •  | 
  •  

Pregunta

Estoy intentando recuperar todas las colecciones de Shopify para nuestra tienda que tengan productos que coincidan con la etiqueta de perro.

{% for collection in collections %}
  {% assign gato = 'false' %}
  {% assign perro = 'false' %}

  {% for tag in collection.tags %}
    {% if tag == 'Cat' %}
        {% assign cat = 'true' %}
    {% elsif tag == 'Dog' %}
        {% assign dog = 'true' %}
    {% endif %}    
  {% endfor %}

  {% if dog == 'true' and cat == 'false' %}
      <li>{{ collection.title | link_to: collection.url }}</li>
  {% endif %}

{% endfor %}

Obtengo esta lista con éxito cuando estoy en la página de inicio (telepienso.com).(Ver captura de pantalla al pie de página: A).Tengo exactamente el mismo código en collection.liquid y obtengo algunas de las colecciones, pero NO todas.(telepienso.com/collections/all).(Vea la lista en la captura de pantalla derecha: B). ¿Existe alguna restricción dentro de collection.liquid que pueda afectar?

A captura de pantalla (lista de productos para perros):

footer-screenshot


B captura de pantalla (sección perros lista):

list-screenshot

¿Fue útil?

Solución

Esta fue la causa del problema..El collections La variable estaba siendo paginada.

Al mover el código de la pregunta fuera del paginate etiqueta líquida, todas las colecciones se muestran en la barra lateral (igual que el pie de página).


EDITAR: El enlace anterior está roto porque la pregunta se eliminó debido al poco tráfico.Copié el contenido de la siguiente pregunta como referencia.

Shopify: problema al acceder a la variable global de colecciones dentro de paginar

Me gustaría poder acceder a variables globales de colecciones desde dentro de un grupo paginado de productos, pero la variable de colecciones también se pagina si se accede a ella dentro de una etiqueta líquida paginada.

Por ejemplo (en colección.liquid):

{% for collection in collections %}
  {{ collection.title }}
{% endfor %}
<br />

{% paginate collection.products by 4 %}
  {% for collection in collections %}
    {{ collection.title }}
  {% endfor %}
  ...
{% endpaginate %}

Producción:

Todo Colección1 Colección2 Colección3 Colección4 Colección5 Colección6 Portada
Todo Colección1 Colección2 Colección3

El bucle for antes de la etiqueta paginar enumera todas las colecciones como era de esperar, pero hacer lo mismo dentro de la etiqueta paginar hace que las colecciones se paginan así como los productos que realmente quiero paginar.

¿Hay alguna manera de acceder a la variable global de colecciones dentro de un grupo paginado de productos sin que también se vea afectada por la paginación?

¿Por qué querría hacer esto?Fue causando este problema, y no fue inmediatamente obvio porque el código que usa la variable de colecciones estaba en un fragmento separado del código con la paginación.


EDITAR 2: Ya no puedo reproducir este problema, parece que se ha solucionado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top