Files
wc-bootstrap/templates/order/order-details.html.twig

90 lines
3.4 KiB
Twig
Raw Normal View History

{#
# Order Details (Bootstrap 5 Override)
#
# Renders the full order details table with items, totals, and customer info.
# HPOS compatible: uses WC_Order methods only.
#
# Expected context:
# order_id - Order ID
# show_downloads - Whether to show downloads table
#
# WooCommerce PHP equivalent: order/order-details.php
#
# @package WcBootstrap
# @since 0.1.0
#}
{% set order = wc_get_order(order_id) %}
{% if order %}
{% set order_items = order.get_items(apply_filters('woocommerce_purchase_order_item_types', 'line_item')) %}
{% set show_purchase_note = order.has_status(apply_filters('woocommerce_purchase_note_order_statuses', ['completed', 'processing'])) %}
{% set show_customer_details = order.get_user_id() == get_current_user_id() %}
{% if show_downloads is defined and show_downloads %}
{% set downloads = order.get_downloadable_items() %}
{% if downloads is not empty %}
{{ wc_get_template('order/order-downloads.php', { downloads: downloads, show_title: true }) }}
{% endif %}
{% endif %}
<section class="woocommerce-order-details">
{{ do_action('woocommerce_order_details_before_order_table', order) }}
<h2 class="h5 mb-3">{{ __('Order details') }}</h2>
<div class="table-responsive">
<table class="table table-hover align-middle mb-0">
<thead class="table-light">
<tr>
<th>{{ __('Product') }}</th>
<th class="text-end">{{ __('Total') }}</th>
</tr>
</thead>
<tbody>
{{ do_action('woocommerce_order_details_before_order_table_items', order) }}
{% for item_id, item in order_items %}
{% set product = item.get_product() %}
{% include 'order/order-details-item.html.twig' with {
order: order,
item_id: item_id,
item: item,
show_purchase_note: show_purchase_note,
purchase_note: product ? product.get_purchase_note() : '',
product: product
} %}
{% endfor %}
{{ do_action('woocommerce_order_details_after_order_table_items', order) }}
</tbody>
<tfoot>
{% for key, total in order.get_order_item_totals() %}
<tr>
<th scope="row">{{ total.label|esc_html }}</th>
<td class="text-end">{{ total.value|wp_kses_post }}</td>
</tr>
{% endfor %}
{% if order.get_customer_note() %}
<tr>
<th>{{ __('Note:') }}</th>
<td class="text-end">{{ order.get_customer_note()|esc_html|nl2br }}</td>
</tr>
{% endif %}
</tfoot>
</table>
</div>
{{ do_action('woocommerce_order_details_after_order_table', order) }}
</section>
{{ do_action('woocommerce_after_order_details', order) }}
{% if show_customer_details %}
{% include 'order/order-details-customer.html.twig' with { order: order } %}
{% endif %}
{% endif %}