You've already forked wc-bootstrap
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>
This commit is contained in:
63
templates/order/order-details-item.html.twig
Normal file
63
templates/order/order-details-item.html.twig
Normal file
@@ -0,0 +1,63 @@
|
||||
{#
|
||||
# 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 %}
|
||||
× <del>{{ qty }}</del> <ins>{{ qty - (refunded_qty * -1) }}</ins>
|
||||
{% else %}
|
||||
× {{ 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 %}
|
||||
Reference in New Issue
Block a user