Files
wc-bootstrap/templates/wc-base.html.twig

78 lines
3.1 KiB
Twig
Raw Permalink Normal View History

{#
# Base Template (Bootstrap 5 Override)
#
# WooCommerce base layout (renamed from base.html.twig to avoid
# shadowing the parent theme's full page shell).
# Provides the basic structure and block definitions.
#
# When _theme_wrapped is true, the parent theme already provides the page
# shell (header, footer, container). The outer wrapper, breadcrumbs,
# sidebar, and head blocks are skipped to avoid double-wrapping.
# The scripts block is always rendered because child templates use it for
# page-specific inline JavaScript (e.g. AJAX form handlers).
#
# @package WcBootstrap
# @since 0.1.0
#}
{% set _wrapped = _theme_wrapped is defined and _theme_wrapped %}
{% if not _wrapped %}{% block head %}{% endblock %}{% endif %}
{% if not _wrapped %}<div class="container my-4">{% endif %}
{% block notifications %}
{% if notifications is defined and notifications|length > 0 %}
{% for notification in notifications %}
<div class="alert alert-{{ notification.type|default('info')|esc_attr }} alert-dismissible fade show" role="alert">
{{ notification.message|wp_kses_post }}
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="{{ __('Close') }}"></button>
</div>
{% endfor %}
{% endif %}
{% if flash_messages is defined %}
{% for type, messages in flash_messages %}
{% for message in messages %}
<div class="alert alert-{{ type|esc_attr }} alert-dismissible fade show" role="alert">
{{ message|wp_kses_post }}
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="{{ __('Close') }}"></button>
</div>
{% endfor %}
{% endfor %}
{% endif %}
{% endblock %}
{% if not _wrapped %}<main>{% endif %}
{% block breadcrumbs %}
{% if not _wrapped and breadcrumbs is defined and breadcrumbs|length > 0 %}
<nav aria-label="{{ __('Breadcrumb') }}">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="{{ home_url() }}">{{ __('Home') }}</a>
</li>
{% for crumb in breadcrumbs %}
{% if crumb.url %}
<li class="breadcrumb-item">
<a href="{{ crumb.url|esc_url }}">{{ crumb.label|esc_html }}</a>
</li>
{% else %}
<li class="breadcrumb-item active" aria-current="page">{{ crumb.label|esc_html }}</li>
{% endif %}
{% endfor %}
</ol>
</nav>
{% endif %}
{% endblock %}
{% block content %}{% endblock %}
{% if not _wrapped %}</main>{% endif %}
{% block sidebar %}{% endblock %}
{% if not _wrapped %}</div>{% endif %}
{% block scripts %}{% endblock %}