Создание и редактирование шаблонов с помощью Shopify Order Printer

Вы можете создавать и редактировать шаблоны с помощью приложения Shopify Order Printer в панели администратора Shopify. По умолчанию приложение Shopify Order Printer содержит следующие шаблоны:

  • Счет-фактура: счет-фактура для отправки клиенту.
  • Упаковочный лист: распечатка с адресом вашего магазина и адресом доставки клиента.
  • Список отгрузки: документ со списком товаров, которые необходимо собрать для выполнения заказа клиента.

Вы можете использовать Liquid для создания собственных шаблонов для других вложений в упаковку, например купонов, этикеток или квитанций. Приложение Shopify Order Printer поддерживает шаблоны, созданные с помощью HTML, CSS и переменных Liquid.

Что нужно учесть при создании шаблонов в приложении Shopify Order Printer

Прежде чем создавать шаблоны в приложении Shopify Order Printer, ознакомьтесь со следующей информацией:

  • Чтобы создавать или редактировать шаблоны в приложении Shopify Order Printer, необходимо знание HTML, CSS и Liquid. Служба поддержки тем Shopify может помочь с небольшими корректировками бесплатных тем Shopify в рамках Политики дизайна Shopify. Если вам требуются более сложные изменения или вы используете тему, созданную не Shopify, подумайте о том, чтобы нанять партнера Shopify.
  • Вы можете создать до 15 различных шаблонов.
  • Ознакомьтесь со справочником по переменным и фильтрам Liquid для Shopify Order Printer, чтобы узнать обо всех поддерживаемых настройках шаблонов.

Создание шаблона

Вы можете создать новый шаблон для документов по заказу.

Чтобы настроить шаблон списка отгрузки, обратитесь к разделу «Настройка и печать списков отгрузки с помощью приложения Shopify Order Printer».

Инструкция:

  1. В панели администратора Shopify перейдите в раздел «Приложения» > Order Printer.

  2. Нажмите «Шаблоны».

  3. Нажмите «Создать шаблон».

  4. В поле «Название» введите название для шаблона, например «этикетка» или «купон».

  5. В разделе «Редактировать код» добавьте код HTML, CSS или Liquid, чтобы создать шаблон.

  6. Необязательно: чтобы просмотреть шаблон, нажмите «Предпросмотр».

  7. Нажмите «Сохранить».

Редактирование шаблона

Вы можете отредактировать существующий шаблон. Узнайте больше о настройке шаблонов Order Printer.

Инструкция:

  1. В панели администратора Shopify перейдите в раздел «Приложения» > Order Printer.

  2. Нажмите «Шаблоны».

  3. Нажмите на шаблон, который хотите отредактировать.

  4. В разделе «Редактировать код» добавьте или измените код HTML, CSS или Liquid.

  5. Необязательно: чтобы просмотреть шаблон, нажмите «Предпросмотр».

  6. Нажмите «Сохранить».

Восстановление шаблона по умолчанию

Вы можете восстановить стандартные значения для встроенных шаблонов упаковочных листов и счетов-фактур. Используйте следующие блоки кода, чтобы восстановить шаблоны по умолчанию.

Шаблон счета-фактуры по умолчанию

Версия от 6 июня 2024 г.

<div>
  <div class="columns">
    <h1>Invoice</h1>
    <div>
      <p style="text-align: right; margin: 0;">
      Order {{ order.order_name }}<br />
      {% if order.po_number %}PO # {{ order.po_number }}<br />{% endif %}
      {{ order.created_at | date: "%B %e, %Y" }}
    </p>
  </div>
</div>
<div class="columns" style="margin-top: 1.5em;">
  <div class="address">
    <strong>From</strong><br/>
    {{ shop.name }}<br/>
    {{ shop.address | format_address }}
    {% if shop.phone %}{{ shop.phone }}{% endif %}
  </div>
  {% if order.billing_address %}
  <div class="address">
    <strong>Bill to</strong>
    {{ order.billing_address | format_address  }}
  </div>
  {% endif %}
  {% if order.shipping_address %}
  <div class="address">
    <strong>Ship to</strong>
    {{ order.shipping_address | format_address  }}
    {% if order.shipping_address.phone %}{{ order.shipping_address.phone }}{% endif %}
  </div>
  {% endif %}
</div>
<hr />
<h2>Order Details</h2>
<table class="table-tabular" style="margin: 1em 0 0 0;">
  <thead>
    <tr>
      <th scope="col">Qty</th>
      <th scope="col">Item</th>
      <th scope="col" style="text-align: right;">Price</th>
    </tr>
  </thead>
  <tbody>
    {% for line_item in order.line_items %}
      <tr>
        <td scope="row">{{ line_item.quantity }}</td>
        <td>{{ line_item.title }}
        {% if line_item.line_level_discount_allocations.size > 0 %}
          <span class="subduedText">
            {% for discount_allocation in line_item.line_level_discount_allocations %}
            <br>{{ discount_allocation.discount_application.title }} (-{{ discount_allocation.amount | money }})
            {% endfor %}
          </span>
        {% endif %}
        </td>
        <td style="text-align: right;">
          {% if line_item.original_price != line_item.final_price %}
            <span class="subduedText"><s>{{ line_item.original_price | money }}</s></span>
          {% endif %}
          {{ line_item.final_price | money }}
        </td>
      </tr>
    {% endfor %}
    <tr>
      <td scope="row" colspan="2" style="text-align: right;">Subtotal</td>
      <td style="text-align: right;">{{ order.line_items_subtotal_price | money }}</td>
    </tr>
    {% for discount_application in order.cart_level_discount_applications %}
    <tr>
      <td scope="row" colspan="2" style="text-align: right;">{% if discount_application.title %}<span class="subduedText">{{ discount_application.title }}</span>{% endif %}</td>
      <td style="text-align: right;">-{{ discount_application.total_allocated_amount | money }}</td>
    </tr>
    {% endfor %}
    <tr>
      <td scope="row" colspan="2" style="text-align: right;">Tax</td>
      <td style="text-align: right;">{{ order.tax_price | money }}</td>
    </tr>
    {% if order.shipping_address %}
      <tr>
        <td scope="row" colspan="2" style="text-align: right;">Shipping</td>
        <td style="text-align: right;">{{ order.shipping_price | money }}</td>
      </tr>
    {% endif %}
    <tr>
      <td scope="row" colspan="2" style="text-align: right;"><strong>Total</strong></td>
      <td style="text-align: right;"><strong>{{ order.total_price | money }}</strong></td>
    </tr>
    {% if order.net_payment != order.total_net_amount %}
      <tr>
        <td scope="row" colspan="2" style="text-align: right;">Total Paid</td>
        <td style="text-align: right;">{{ order.net_payment | money }}</td>
      </tr>
    {% endif %}
    {% if order.total_refunded_amount > 0 %}
      <tr>
        <td scope="row" colspan="2" style="text-align: right;">Total Refunded</td>
        <td style="text-align: right;">-{{ order.total_refunded_amount | money }}</td>
      </tr>
    {% endif %}
    {% if order.net_payment != order.total_net_amount %}
      <tr>
        <td scope="row" colspan="2" style="text-align: right;"><strong>Outstanding Amount</strong></td>
        <td style="text-align: right;"><strong>{{ order.total_price | minus: order.net_payment | money }}</strong></td>
      </tr>
    {% endif %}
  </tbody>
</table>
{% if transactions.size > 1 %}
  <h2>Transaction Details</h2>
  <table class="table-tabular" style="margin: 0 0 1.5em 0;">
    <thead>
      <tr>
        <th scope="col">Type</th>
        <th scope="col">Amount</th>
        <th scope="col">Kind</th>
        <th scope="col">Status</th>
      </tr>
    </thead>
    <tbody>
      {% for transaction in transactions %}
        <tr>
          <td scope="row">{{ transaction.gateway | payment_method }}</td>
          <td>{{ transaction.amount | money }}</td>
          <td>{{ transaction.kind }}</td>
          <td>{{ transaction.status }}</td>
        </tr>
      {% endfor %}
    </tbody>
  </table>
{% endif %}
{% if order.note %}
<h2>Note</h2>
<p>{{ order.note }}</p>
{% endif %}
<p style="margin-bottom: 0;">If you have any questions, please send an email to <u>{{ shop.email }}</u></p>
</div>

Шаблон упаковочного листа по умолчанию

Версия от 6 июня 2024 г.

<div>
<div class="columns">
  <h1>Packing Slip</h1>
  <div class="address">
    <p style="text-align: right; margin: 0;">
    Order {{ order.order_name }}<br />
    {% if order.po_number %}PO # {{ order.po_number }}<br />{% endif %}
    {{ order.created_at | date: "%B %e, %Y" }}
    </p>
  </div>
</div>
<div class="columns" style="margin-top: 1.5em;">
  <div class="address">
    <strong>From</strong><br/>
    {{ shop.name }}<br/>
    {{ shop.address | format_address }}
  </div>
  {% if order.shipping_address %}
  <div class="address">
    <strong>Ship to</strong>
    {{ order.shipping_address | format_address  }}
   </div>
  {% endif %}
</div>
<hr />
<h2>Order Details</h2>
<table class="table-tabular" style="margin: 1em 0 0 0;">
  <thead>
    <tr>
      <th scope="col" style="width: 15%; text-align: left;">Qty</th>
      <th scope="col" style="width: 85%; text-align: left;">Item</th>
    </tr>
  </thead>
  <tbody>
    {% for line_item in order.line_items %}
    <tr>
      <td scope="row" style="text-align: left;">{{ line_item.quantity }}</td>
      <td style="text-align: left;">{{ line_item.title }}</td>
    </tr>
    {% endfor %}
  </tbody>
</table>
</div>