عرض قواعد الكمية والتسعير المجمّع في متجرك

يمكنك عرض قواعد الكمية والتسعير المجمّع لكتالوج B2B في متجرك عن طريق تحديث قالب متجرك إلى أحدث إصدار.

إذا كنت لا تريد تغيير قالبك أو تحديثه، فيمكنك إضافة التعليمات البرمجية التالية إلى قالبك لعرض قواعد الكمية والتسعير المجمّع.

اعتبارات لإضافة قواعد الكمية والتسعير المجمّع إلى التعليمات البرمجية لقالبك

قبل إضافة قواعد الكمية والتسعير المجمّع إلى التعليمات البرمجية لقالبك، راجع الاعتبارات التالية:

  • هذا برنامج تعليمي متقدم. إذا لم تكن مرتاحًا في قراءة التعليمات البرمجية للقالب وتعديلها، فيمكنك العمل مع مطور أو الاستعانة بأحد شركاء Shopify.
  • قبل إجراء تحديثات على ملفات القالب الخاص بك، تأكد من تكرار القالب لإنشاء نسخة احتياطية.
  • يتم دعم قواعد الكمية لكتالوج B2B في قوالب Shopify المجانية، بدءًا من الإصدار 8.0.0 أو الإصدارات الأحدث. بينما يُدعم التسعير المجمّع في الإصدار 11.0.0 أو الإصدارات الأحدث.

كمية المنتج في سلة التسوق

يمكن عرض قيمة كمية سلة التسوق الخاصة بمتغير المنتج في صفحة المنتج أو قسم المنتجات المميزة. ويمكن جلب هذه القيمة باستخدام Liquid.

إضافة التعليمات البرمجية لكمية المنتج في سلة التسوق الخاصة بـ Liquid

يمكنك إضافة التعليمات البرمجية إلى الملفات التالية في قالبك لدعم كمية سلة التسوق:

  • main-product.liquid أو ما يعادله
  • featured-product.liquid أو ما يعادله

الخطوات:

  1. من مسؤول Shopify، انتقل إلى المتجر الإلكتروني > القوالب.

  2. ابحث عن القالب الذي تريد تعديله، وانقر على الزر ... لفتح قائمة الإجراءات، ثم انقر على تعديل التعليمات البرمجية.

  3. افتح الملف الذي تريد تعديله.

  4. أنشئ سطرًا جديدًا في أسفل الملف، وأضف التعليمات البرمجية التالية:

{% comment %} Cart quantity {% endcomment %}
<span id="CartQuantity-{{ section.id }}" data-product-url="{{ product.url }}" data-section-id="{{ section.id }}" data-variant-id="{{ product.selected_or_first_available_variant.id }}">
	{{ cart | line_items_for: product | sum: 'quantity' }}
	{{- 'products.product.quantity.in_cart' | t: quantity: cart_qty -}}
</span>
  1. انقر على حفظ.

إضافة التعليمات البرمجية لـ Javascript الخاصة بكمية سلة التسوق

عندما تتغير كمية سلة التسوق الخاصة بالمتغير، يجب تحديث القيمة المعروضة في صفحة المنتج أو قسم المنتجات المميزة. ويمكن جلب القيمة المحدثة باستخدام التعليمات البرمجية لـ Javascript.

يمكنك إضافة التعليمات البرمجية إلى ملف theme.js أو ما يعادله.

الخطوات:

  1. من مسؤول Shopify، انتقل إلى المتجر الإلكتروني > القوالب.

  2. ابحث عن القالب الذي تريد تعديله، وانقر على الزر ... لفتح قائمة الإجراءات، ثم انقر على تعديل التعليمات البرمجية.

  3. افتح ملف theme.js.

  4. أنشئ سطرًا جديدًا في أسفل الملف، وأضف التعليمات البرمجية التالية:

let productUrl =
  document.querySelector('[data-product-url]').dataset.productUrl;
let sectionId = document.querySelector('[data-section-id]').dataset.sectionId;
let variantId = document.querySelector('[data-variant-id]').dataset.variantId;

// Fetch updated HTML from Section Rendering API
fetch(`${productUrl}?section_id=${sectionId}&variant=${variantId}`)
  .then((response) => response.text())
  .then((responseText) => {
    // Replace the current HTML in DOM with the updated HTML

    const updatedHtml = new DOMParser().parseFromString(
      responseText,
      'text/html',
    );

    // Update the cart quantity
    const currentCartQuantity = document.querySelector(
      `#CartQuantity-${sectionId}`,
    );
    const updatedCartQuantity = updatedHtml.querySelector(
      `#CartQuantity-${sectionId}`,
    );
    currentCartQuantity.innerHTML = updatedCartQuantity.innerHTML;
  });
  1. انقر على حفظ.

قواعد الكمية

يمكن عرض قواعد الكمية لمتغير المنتج في صفحة المنتج أو في قسم المنتجات المميزة. ويمكن جلب القواعد باستخدام Liquid.

إضافة التعليمات البرمجية لقواعد الكمية الخاصة بـ Liquid

يمكنك إضافة التعليمات البرمجية إلى الملفات التالية في قالبك لدعم قواعد الكمية:

  • main-product.liquid أو ما يعادله
  • featured-product.liquid أو ما يعادله

الخطوات:

  1. من مسؤول Shopify، انتقل إلى المتجر الإلكتروني > القوالب.

  2. ابحث عن القالب الذي تريد تعديله، وانقر على الزر ... لفتح قائمة الإجراءات، ثم انقر على تعديل التعليمات البرمجية.

  3. افتح الملف الذي تريد تعديله.

  4. أنشئ سطرًا جديدًا في أسفل الملف، ثم أضف التعليمات البرمجية التالية:

{% comment %} Quantity rules {% endcomment %}
<div id="QuantityRules-{{ section.id }}" data-product-url="{{ product.url }}" data-section-id="{{ section.id }}" data-variant-id="{{ product.selected_or_first_available_variant.id }}">
	{%- if product.selected_or_first_available_variant.quantity_rule.increment > 1 -%}
		<span>
		{{- 'products.product.quantity.multiples_of' | t: quantity: product.selected_or_first_available_variant.quantity_rule.increment -}}
		</span>
	{%- endif -%}
	{%- if product.selected_or_first_available_variant.quantity_rule.min > 1 -%}
		<span>
		&nbsp;-&nbsp;
		{{- 'products.product.quantity.minimum_of' | t: quantity: product.selected_or_first_available_variant.quantity_rule.min -}}
		</span>
	{%- endif -%}
	{%- if product.selected_or_first_available_variant.quantity_rule.max != null -%}
		<span>
		&nbsp;-&nbsp;
		{{- 'products.product.quantity.maximum_of' | t: quantity: product.selected_or_first_available_variant.quantity_rule.max -}}
		</span>
	{%- endif -%}
</div>
  1. انقر على حفظ.

إضافة كود Javascript لقواعد الكمية

يمكن أن يكون لكل متغير من متغيرات المنتج مجموعة خاصة به من قواعد الكمية. بعد تحديد متغير مختلف، يجب تحديث قواعد الكمية المعروضة في صفحة المنتج أو قسم المنتجات المميزة. يمكن جلب القيمة المحدّثة باستخدام كود Javascript.

  • theme.js أو ما يعادله
  • en.default.json

الخطوات:

  1. من مسؤول Shopify، انتقل إلى المتجر الإلكتروني > القوالب.

  2. ابحث عن القالب الذي تريد تعديله، وانقر على الزر ... لفتح قائمة الإجراءات، ثم انقر على تعديل التعليمات البرمجية.

  3. افتح ملف theme.js.

  4. أنشئ سطرًا جديدًا في أسفل الملف، ثم أضف التعليمات البرمجية التالية:

let productUrl =
  document.querySelector('[data-product-url]').dataset.productUrl;
let sectionId = document.querySelector('[data-section-id]').dataset.sectionId;
let variantId = document.querySelector('[data-variant-id]').dataset.variantId;
// `variantId` is set to the current variant's id. Replace this value with the updated variant's id

// Fetch updated HTML from Section Rendering API
fetch(`${productUrl}?section_id=${sectionId}&variant=${variantId}`)
  .then((response) => response.text())
  .then((responseText) => {
    // Replace the current HTML in DOM with the updated HTML

    const updatedHtml = new DOMParser().parseFromString(
      responseText,
      'text/html',
    );

    // Update the quantity rules
    const currentQuantityRules = document.querySelector(
      `#QuantityRules-${sectionId}`,
    );
    const updatedQuantityRules = updatedHtml.querySelector(
      `#QuantityRules-${sectionId}`,
    );
    currentQuantityRules.innerHTML = updatedQuantityRules.innerHTML;
  });
  1. انقر على حفظ.

التسعير حسب الحجم

إضافة كود Liquid للتسعير حسب الحجم

يمكنك إضافة كود إلى الملفات التالية في قالبك لعرض التسعير حسب الحجم:

  • main-product.liquid أو ما يعادله
  • featured-product.liquid أو ما يعادله

الخطوات:

  1. من مسؤول Shopify، انتقل إلى المتجر الإلكتروني > القوالب.

  2. ابحث عن القالب الذي تريد تعديله، وانقر على الزر ... لفتح قائمة الإجراءات، ثم انقر على تعديل التعليمات البرمجية.

  3. افتح الملف الذي تريد تعديله.

  4. أنشئ سطرًا جديدًا في أسفل الملف، ثم أضف التعليمات البرمجية التالية:

{%- if product.quantity_price_breaks_configured? -%}
  <div class="volume-pricing-note">
    <span>{{ 'products.product.volume_pricing.note' | t }}</span>
  </div>
  <volume-pricing class="parent-display" id="Volume-{{ section.id }}">
    {%- if product.selected_or_first_available_variant.quantity_price_breaks.size > 0 -%}
      <span class="caption-large">{{ 'products.product.volume_pricing.title' | t }}</span>
      <ul class="list-unstyled no-js-hidden">
        <li>
          <span>{{ product.selected_or_first_available_variant.quantity_rule.min }}+</span>
          {%- assign price = product.selected_or_first_available_variant.price
            | money_with_currency
          -%}
          <span data-text="{{ 'products.product.volume_pricing.price_at_each' | t: price: variant_price }}">
            {{ 'sections.quick_order_list.each' | t: money: price -}}
          </span>
        </li>
        {%- for price_break in product.selected_or_first_available_variant.quantity_price_breaks -%}
          {%- assign price_break_price = price_break.price | money_with_currency -%}
          <li class="{%- if forloop.index >= 3 -%}show-more-item hidden{%- endif -%}">
            <span>
              {{- price_break.minimum_quantity -}}
              <span aria-hidden="true">+</span></span
            >
            {%- assign price = price_break.price | money_with_currency -%}
            <span data-text="{{ 'products.product.volume_pricing.price_at_each' | t: price: price_break_price }}">
              {{ 'sections.quick_order_list.each' | t: money: price -}}
            </span>
          </li>
        {%- endfor -%}
      </ul>
      {%- if product.selected_or_first_available_variant.quantity_price_breaks.size >= 3 -%}
        <show-more-button>
          <button
            class="button-show-more link underlined-link no-js-hidden"
            id="Show-More-{{ section.id }}"
            type="button"
          >
            <span class="label-show-more label-text"
              ><span aria-hidden="true">+ </span>{{ 'products.facets.show_more' | t }}
            </span>
          </button>
        </show-more-button>
      {%- endif -%}
    {%- endif -%}
  </volume-pricing>
{%- endif -%}
  1. انقر على حفظ.

إضافة كود Javascript للتسعير حسب الحجم

يمكنك إضافة كود إلى الملف التالي في قالبك لعرض التسعير حسب الحجم:

  • theme.js

الخطوات:

  1. من مسؤول Shopify، انتقل إلى المتجر الإلكتروني > القوالب.

  2. ابحث عن القالب الذي تريد تعديله، وانقر على الزر ... لفتح قائمة الإجراءات، ثم انقر على تعديل التعليمات البرمجية.

  3. افتح ملف theme.js.

  4. أنشئ سطرًا جديدًا في أسفل الملف، ثم أضف التعليمات البرمجية التالية:

if (!customElements.get('show-more-button')) {
  customElements.define(
    'show-more-button',
    class ShowMoreButton extends HTMLElement {
      constructor() {
        super();
        const button = this.querySelector('button');
        button.addEventListener('click', (event) => {
          this.expandShowMore(event);
          const nextElementToFocus = event.target
            .closest('.parent-display')
            .querySelector('.show-more-item');
          if (
            nextElementToFocus &&
            !nextElementToFocus.classList.contains('hidden') &&
            nextElementToFocus.querySelector('input')
          ) {
            nextElementToFocus.querySelector('input').focus();
          }
        });
      }
      expandShowMore(event) {
        const parentDisplay = event.target
          .closest('[id^="Show-More-"]')
          .closest('.parent-display');
        const parentWrap = parentDisplay.querySelector('.parent-wrap');
        this.querySelectorAll('.label-text').forEach((element) =>
          element.classList.toggle('hidden'),
        );
        parentDisplay
          .querySelectorAll('.show-more-item')
          .forEach((item) => item.classList.toggle('hidden'));
        if (!this.querySelector('.label-show-less')) {
          this.classList.add('hidden');
        }
      }
    },
  );
}
  1. انقر على حفظ.

إضافة اللغات والإعدادات الإقليمية

لضمان عرض قواعد الكمية والتسعير حسب الحجم في جميع النُسخ المترجمة لمتجرك الإلكتروني، يمكنك إضافة اللغات والإعدادات الإقليمية عن طريق إضافة سلاسل ترجمة JSON التالية إلى ملف en.default.json.

الخطوات:

  1. من مسؤول Shopify، انتقل إلى المتجر الإلكتروني > القوالب.

  2. ابحث عن القالب الذي تريد تعديله، وانقر على الزر ... لفتح قائمة الإجراءات، ثم انقر على تعديل التعليمات البرمجية.

  3. افتح ملف en.default.json.

  4. أنشئ سطرًا جديدًا في أسفل الملف، ثم أضف التعليمات البرمجية التالية:

"products": {
  "product": {
    "volume_pricing": {
      "title": "Volume Pricing",
      "note": "Volume pricing available",
      "price_at_each": "at /ea"
    }
    "facets": {
      "show_more": "Show more"
    }
  }
}
  1. انقر على حفظ.