Сравните два массива в жидкости (Shopify) - PullRequest
0 голосов
/ 18 мая 2019

не разработчик, просто пытаюсь что-то взломать. На нашем сайте Shopify есть некоторая логика, которая помечает новые статьи блогов в определенном блоге с помощью order.id. Так что в этом блоге есть посты с одним order.id на пост.

В записи клиента (учетной записи) я создал сетку, в которой я хочу показать все статьи, где article.tags соответствует customer.orders.

Я создал массив для всех идентификаторов заказов клиентов и пытаюсь сравнить этот массив с массивом article.tags и показать только те статьи, в которых есть совпадения в двух массивах.

Пожалуйста, помогите!

Это на клиенты / account.liquid:

     <div class="table-wrap">
        <table class="full table--responsive">
          <thead>
            <tr>
              <th>POST NAME</th>
            </tr>
          </thead>
          <tbody>

             {% assign myorders = '' %}
        {% for order in customer.orders  %}
           {% capture myorders %}
              {{ myorders }} {{ order.id }}
           {% endcapture %}
            {% endfor %}

             {% for article in blogs.my-posts.articles  %}
         {% if article.tags contains myorders %}

                   <!--SHOW THE MATCHING ARTICLES HERE-->

                   <tr>
                     <td class="underline"><strong><a href="{{ article.url }}">{{ article.title | capitalize }}</a></strong></td>
                   <tr>

                 {% else %}

                     You have no posts.

                 {% endif %}
         {% endfor %}
          </tbody>
        </table>              
      </div>

1 Ответ

0 голосов
/ 18 мая 2019

Одна вещь. Использование захвата будет постоянно перезаписывать ваш последний захват, так что поместить его в цикл for проблематично. В результате вы получите только последний заказ в клиентских заказах.

Итак, для начала вы можете поработать над созданием строки, которая будет непрерывно увеличиваться, чтобы содержать идентификаторы порядка. Если у вас есть эта строка, вы можете использовать ее. Затем вы бы просмотреть статьи. Обратите внимание, что с тегами лучше всего обращаться в массиве. Таким образом, вы разделяете эту строку тегов на запятую, и для каждого результирующего тега в массиве, который вы зациклите, вы захотите увидеть, был ли тег в строке идентификаторов порядка, которые вы создали ранее.

Ничто из этого не является слишком сложным, но не очевидно, как достичь успеха. Мое предложение состоит в том, чтобы установить каждую потребность в небольшом шаге кода, а затем выгрузить код в исходный код страницы Shopify. Используйте источник просмотра, чтобы найти результаты и убедиться, что они правильные. Если вы просто взбиваете весь рецепт, как ваш текущий, и он в любой момент не может произвести, как он это делает, вы не имеете ни малейшего понятия, где ошибка. Часто достаточно просто использовать комментарии в курсе, а затем Ctrl + F, чтобы найти подсказку, например, слово «testeefizzle»:

<!-- testeefizzle {{ dump crap here to see it }} -->

Как только вы достигнете славы на одном маленьком кусочке, построенном на этом, с большим количеством кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...