Files
wc-bootstrap/templates/order/order-details-item.html.twig
magdev 8b1793097c Implement Phase 6 & 7: My Account and Order Details templates (Bootstrap 5, HPOS)
Phase 6 - My Account (15 templates):
- Account layout with sidebar navigation (list-group) and content area
- Orders table with status badges, pagination, and responsive design
- View order with order notes as list-group items
- Address cards with edit/add buttons
- Login/Register side-by-side card layout
- Account edit, password change, downloads, payment methods forms
- Lost/reset password forms and confirmation

Phase 7 - Order Details (5 templates):
- Order details table with items, totals, and customer note
- Line item rows with refund quantity display
- Customer billing/shipping address cards
- Order tracking form
- Order again button

All order templates use WC_Order object methods only (HPOS compatible).
Bootstrap 5 components: cards, tables, list-groups, badges, forms, alerts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 10:43:30 +01:00

64 lines
2.1 KiB
Twig

{#
# Order Details Item (Bootstrap 5 Override)
#
# Renders a single line item row within the order details table.
# HPOS compatible: uses WC_Order methods only.
#
# Expected context:
# order - WC_Order object
# item_id - Item ID
# item - WC_Order_Item_Product object
# show_purchase_note - Whether to show purchase note
# purchase_note - Purchase note text
# product - WC_Product object or null
#
# WooCommerce PHP equivalent: order/order-details-item.php
#
# @package WcBootstrap
# @since 0.1.0
#}
{% if not apply_filters('woocommerce_order_item_visible', true, item) %}
{% do return() %}
{% endif %}
{% set is_visible = product and product.is_visible() %}
{% set product_permalink = apply_filters('woocommerce_order_item_permalink', is_visible ? product.get_permalink(item) : '', item, order) %}
<tr class="{{ apply_filters('woocommerce_order_item_class', 'woocommerce-table__line-item order_item', item, order) }}">
<td class="product-name">
{% if product_permalink %}
<a href="{{ product_permalink|esc_url }}">{{ item.get_name()|esc_html }}</a>
{% else %}
{{ item.get_name()|esc_html }}
{% endif %}
{% set qty = item.get_quantity() %}
{% set refunded_qty = order.get_qty_refunded_for_item(item_id) %}
<strong class="product-quantity">
{% if refunded_qty %}
&times;&nbsp;<del>{{ qty }}</del> <ins>{{ qty - (refunded_qty * -1) }}</ins>
{% else %}
&times;&nbsp;{{ qty }}
{% endif %}
</strong>
{{ do_action('woocommerce_order_item_meta_start', item_id, item, order, false) }}
{{ wc_display_item_meta(item) }}
{{ do_action('woocommerce_order_item_meta_end', item_id, item, order, false) }}
</td>
<td class="product-total text-end">
{{ order.get_formatted_line_subtotal(item)|raw }}
</td>
</tr>
{% if show_purchase_note and purchase_note %}
<tr class="product-purchase-note">
<td colspan="2">
{{ purchase_note|wp_kses_post|wpautop }}
</td>
</tr>
{% endif %}