счетчик пожертвований на стартовой странице - PullRequest
0 голосов
/ 20 июня 2019

Мне нужен счетчик пожертвований (общая сумма), который отображается на начальной странице и на конкретной странице.Моя проблема здесь в том, что я включил фрагмент, чтобы получить общее пожертвование, и эти пожертвования поступают от одного конкретного продукта.Мне удалось получить общую сумму пожертвований, и я могу отобразить ее на странице продукта.Но я хочу отобразить его на стартовой странице и на конкретной странице.Я написал product-sold-count.liquid следующим образом:

{% assign productStartCount = product.metafields.stock.initial | times:1 %}
{% if productStartCount > 0 %}
{% assign productInventory = product.variants.first.inventory_quantity %}
{% assign totalSum = productStartCount | minus:productInventory | times: product.price | times: product.metafields.donation.percent | divided_by: 10000 %}
<p>{{ totalSum }} € were donated until now!</p>
{% endif %}

Теперь я хочу перевести это totalSum на другую страницу или, более вероятно, на стартовую страницу и на другиестраницы?Я попытался: {% include 'product-sold-count' %} на определенных жидкостях, таких как page.liquid или theme.liquid , но это не сработает.Как мне этого добиться?

1 Ответ

0 голосов
/ 21 июня 2019

Проблема на странице продукта, у вас есть переменная product. Но на других страницах эта переменная более действительна.

Чтобы иметь общее количество для всего продукта, вы можете повторить приведенный выше код для каждого продукта и получить сумму всех продуктов. Обратите внимание, что Shopify предоставляет переменную all_products, но не более 20 товаров на странице. Вы можете использовать collection.products, если он находится в коллекции (или назначить все продукты для пожертвований в коллекцию для пожертвований, а затем получить все продукты из этой коллекции)

{% assign allProductCount = 0 %}

{% for product in  all_products %}
  {% assign productStartCount = product.metafields.stock.initial | times:1 %}
  {% if productStartCount > 0 %}
    {% assign productInventory = product.variants.first.inventory_quantity %}
    {% assign totalSum = productStartCount | minus:productInventory | times: 
  product.price | times: product.metafields.donation.percent | divided_by: 10000 %}

    {% assign allProductCount = allProductCount | plus: totalSum %}
  {% endif %}

{% endfor %}

<p>{{ allProductCount }} € were donated until now!</p>

...