initial commit
This commit is contained in:
commit
c1a7aec8ed
144 changed files with 10269 additions and 0 deletions
55
src/Resources/views/storefront/base.html.twig
Normal file
55
src/Resources/views/storefront/base.html.twig
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{% sw_extends '@Storefront/storefront/base.html.twig' %}
|
||||
|
||||
{% block base_body_inner %}
|
||||
|
||||
{% block base_noscript %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
|
||||
{% block base_header %}
|
||||
<div class="head-wrapper">
|
||||
{{ parent() }}
|
||||
<div class="head-hero">
|
||||
<div class="head-base-logo">
|
||||
<figure>
|
||||
<a class="head-base-logo-link"
|
||||
href="{{ path('frontend.home.page') }}"
|
||||
title="{{ "header.logoLink"|trans|striptags }}">
|
||||
<picture>
|
||||
{% if theme_config('sw-logo-desktop') %}
|
||||
<img src="{{ theme_config('sw-logo-desktop') |sw_encode_url }}"
|
||||
alt="{{ "header.logoLink"|trans|striptags }}"
|
||||
class="img-fluid head-base-logo-img"/>
|
||||
{% endif %}
|
||||
</picture>
|
||||
</a>
|
||||
</figure>
|
||||
</div>
|
||||
</div>
|
||||
{# <div class="head-mountain_range"></div>#}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block base_main %}
|
||||
<main class="content-main">
|
||||
{#<div class="content-mountain_range_extender"></div>#}
|
||||
{% block base_navigation %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
{% block base_offcanvas_navigation %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
{% block base_flashbags %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
{% block base_main_inner %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
</main>
|
||||
{% endblock %}
|
||||
|
||||
{% block base_footer %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{% sw_extends '@Storefront/storefront/component/product/card/action.html.twig' %}
|
||||
|
||||
{% block component_product_box_action_detail %}
|
||||
<a href="{{ seoUrl('frontend.detail.page', {'productId': id}) }}"
|
||||
class="btn btn-block btn-buy"
|
||||
title="{{ "listing.boxProductDetails"|trans|striptags }}">
|
||||
{{ "listing.boxProductDetails"|trans|sw_sanitize }}
|
||||
</a>
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
{% sw_extends '@Storefront/storefront/component/product/card/box-standard.html.twig' %}
|
||||
|
||||
{% block component_product_box_image %}
|
||||
{{ parent() }}
|
||||
{% if product.extensions.awardMedia|length %}
|
||||
<div class="awards">
|
||||
{% for awardMedia in product.extensions.awardMedia.all() %}
|
||||
{# {{ dump(awardMedia) }}#}
|
||||
<a href="{{ seoUrl('frontend.detail.page', {'productId': id}) }}"
|
||||
title="{{ name }}">
|
||||
{% sw_thumbnails 'awardMedia' with {
|
||||
media: awardMedia|first,
|
||||
sizes: {
|
||||
'xs': '501px',
|
||||
'sm': '315px',
|
||||
'md': '427px',
|
||||
'lg': '333px',
|
||||
'xl': '284px',
|
||||
'default': '50px'
|
||||
},
|
||||
attributes: {
|
||||
'title': awardMedia|first.title
|
||||
}
|
||||
} %}
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block component_product_box_name %}
|
||||
{# {{ dump(product.extensions.awardMedia) }}#}
|
||||
<a href="{{ seoUrl('frontend.detail.page', {'productId': id}) }}"
|
||||
class="product-name"
|
||||
title="{{ name }}">
|
||||
{% if product.customFields.custom_wein_jahrgang %}<span class="year">{{ product.customFields.custom_wein_jahrgang }}er</span>{% endif %}
|
||||
<span class="site">{{ product.extensions.bwegProperties.get('4d005d04a2924cc4b59612875aee757c') }}</span>
|
||||
{{ name }}
|
||||
<span class="qty_taste">{#{{ product.extensions.bwegProperties.get('3897a8e7eb47405f941525a2c21395c8') }}#}{{ product.extensions.bwegProperties.get('840da18f18184040ac2c34e9a13abd83') }} {{ product.extensions.bwegProperties.get('087598bcbf044684b57fa108f0385128') }}</span>
|
||||
{#{% if page.product.customFields.custom_wein_addendum %}
|
||||
<span class="addendum">{{ page.product.customFields.custom_wein_addendum }}</span>
|
||||
{% endif %}#}
|
||||
</a>
|
||||
{% endblock %}
|
||||
|
||||
{% block component_product_box_variant_characteristics %}
|
||||
{% endblock %}
|
||||
|
||||
{% block component_product_box_description %}
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
{% sw_extends '@Storefront/storefront/component/product/card/price-unit.html.twig' %}
|
||||
|
||||
{% block component_product_box_price_unit %}
|
||||
<div class="product-price-cols">
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
|
||||
{% block component_product_box_price %}
|
||||
<div class="product-price-wrapper">
|
||||
{% set price = real %}
|
||||
|
||||
<div class="product-cheapest-price">
|
||||
{% if cheapest.unitPrice != real.unitPrice %}
|
||||
<div>{{ "listing.cheapestPriceLabel"|trans|sw_sanitize }}<span class="product-cheapest-price-price"> {{ cheapest.unitPrice|currency }}{{ "general.star"|trans|sw_sanitize }}</span></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if displayFrom %}
|
||||
{{ "listing.listingTextFrom"|trans|sw_sanitize }}
|
||||
{% endif %}
|
||||
|
||||
{% set isListPrice = price.listPrice.percentage > 0 %}
|
||||
|
||||
<span class="product-price{% if isListPrice and not displayFrom %} with-list-price{% endif %}">
|
||||
{{ price.unitPrice|currency }}{{ "general.star"|trans|sw_sanitize }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{% if isListPrice and not displayFrom %}
|
||||
{% set afterListPriceSnippetExists = "listing.afterListPrice"|trans|length > 0 %}
|
||||
{% set beforeListPriceSnippetExists = "listing.beforeListPrice"|trans|length > 0 %}
|
||||
{% set hideStrikeTrough = beforeListPriceSnippetExists or afterListPriceSnippetExists %}
|
||||
|
||||
<span class="list-price{% if hideStrikeTrough %} list-price-no-line-through{% endif %}">
|
||||
{% if beforeListPriceSnippetExists %}{{ "listing.beforeListPrice"|trans|trim|sw_sanitize }}{% endif %}
|
||||
|
||||
<span class="list-price-price">{{ price.listPrice.price|currency }}{{ "general.star"|trans|sw_sanitize }}</span>
|
||||
|
||||
{% if afterListPriceSnippetExists %}{{ "listing.afterListPrice"|trans|trim|sw_sanitize }}{% endif %}
|
||||
|
||||
<span class="list-price-percentage">{{ "detail.listPricePercentage"|trans({'%price%': price.listPrice.percentage })|sw_sanitize }}</span>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
223
src/Resources/views/storefront/layout/footer/footer.html.twig
Normal file
223
src/Resources/views/storefront/layout/footer/footer.html.twig
Normal file
|
|
@ -0,0 +1,223 @@
|
|||
{% sw_extends '@Storefront/storefront/layout/footer/footer.html.twig' %}
|
||||
{% block layout_footer_inner_container %}
|
||||
<div class="inside">
|
||||
<div class="container">
|
||||
|
||||
{% block layout_footer_navigation %}
|
||||
<div id="footerColumns"
|
||||
class="row footer-columns"
|
||||
data-collapse-footer="true">
|
||||
{% block layout_footer_navigation_hotline %}
|
||||
<div class="col-md-3 footer-column js-footer-column">
|
||||
{% block layout_footer_navigation_hotline_headline %}
|
||||
<div class="footer-column-headline footer-headline js-footer-column-headline js-collapse-footer-column-trigger"
|
||||
id="collapseFooterHotlineTitle"
|
||||
data-target="#collapseFooterHotline"
|
||||
aria-expanded="true"
|
||||
aria-controls="collapseFooterHotline">
|
||||
{{ 'footer.serviceHotlineHeadline'|trans|sw_sanitize }}
|
||||
{% block layout_footer_navigation_hotline_icons %}
|
||||
<div class="footer-column-toggle">
|
||||
<span class="footer-plus-icon">
|
||||
{% sw_icon 'plus' %}
|
||||
</span>
|
||||
<span class="footer-minus-icon">
|
||||
{% sw_icon 'minus' %}
|
||||
</span>
|
||||
</div>
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block layout_footer_navigation_hotline_content %}
|
||||
<div id="collapseFooterHotline"
|
||||
class="footer-column-content collapse js-footer-column-content footer-contact"
|
||||
aria-labelledby="collapseFooterHotlineTitle">
|
||||
<div class="footer-column-content-inner">
|
||||
<p class="footer-contact-hotline">
|
||||
{{ 'footer.serviceHotline'|trans|sw_sanitize }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="footer-contact-form">
|
||||
{{ 'footer.serviceContactLink'|trans({
|
||||
'%url%': path('frontend.cms.page', { id: config('core.basicInformation.contactPage') })
|
||||
})|raw }}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block layout_footer_navigation_logo %}
|
||||
<div class="col-md-6 footer-column js-footer-column footer-column-logo">
|
||||
<div class="footer-column-logo-content">
|
||||
<img src="{{ asset('bundles/wgsh/logo_wgs.png', 'asset') }}" alt="WG Schriesheim Logo">
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block layout_footer_navigation_columns %}
|
||||
{% for root in page.footer.navigation.tree %}
|
||||
{% block layout_footer_navigation_column %}
|
||||
<div class="col-md-3 footer-column js-footer-column">
|
||||
{% block layout_footer_navigation_information_headline %}
|
||||
<div class="footer-column-headline footer-headline">
|
||||
|
||||
{% if root.category.type == 'folder' %}
|
||||
{{ root.category.translated.name }}
|
||||
{% else %}
|
||||
<a href="{{ category_url(root.category) }}"
|
||||
{% if category_linknewtab(root.category) %}target="_blank"{% endif %}
|
||||
title="{{ root.category.translated.name }}">
|
||||
{{ root.category.translated.name }}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block layout_footer_navigation_information_content %}
|
||||
<div id="collapseFooter{{ loop.index }}"
|
||||
class="footer-column-content">
|
||||
<div class="footer-column-content-inner">
|
||||
{% block layout_footer_navigation_information_links %}
|
||||
<ul class="list-unstyled">
|
||||
{% for treeItem in root.children %}
|
||||
{% set category = treeItem.category %}
|
||||
{% set name = category.translated.name %}
|
||||
|
||||
{# @deprecated tag:v6.5.0 - Use "category.translated.externalLink" directly or category_url function instead. #}
|
||||
{% set externalLink = category.translated.externalLink %}
|
||||
|
||||
{% block layout_footer_navigation_information_link_item %}
|
||||
<li class="footer-link-item">
|
||||
{% block layout_footer_navigation_information_link %}
|
||||
{% if category.type == 'folder' %}
|
||||
<div>{{ name }}</div>
|
||||
{% else %}
|
||||
<a class="footer-link"
|
||||
href="{{ category_url(category) }}"
|
||||
{% if category_linknewtab(category) %}target="_blank"{% endif %}
|
||||
title="{{ name }}">
|
||||
{{ name }}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
</li>
|
||||
{% endblock %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% block layout_footer_bottom %}
|
||||
<div class="footer-bottom">
|
||||
{% block layout_footer_payment_shipping_logos %}
|
||||
<div class="footer-payment-label"><span>{{ 'footer.weAcceptPaymentMethods'|trans|sw_sanitize }}</span></div>
|
||||
<div class="footer-logos">
|
||||
{% block layout_footer_payment_logos %}
|
||||
{% for paymentMethod in page.salesChannelPaymentMethods %}
|
||||
{% block layout_footer_payment_logo %}
|
||||
{% if paymentMethod.media %}
|
||||
<div class="footer-logo is-payment">
|
||||
{% sw_thumbnails 'footer-payment-image-thumbnails' with {
|
||||
media: paymentMethod.media,
|
||||
sizes: {
|
||||
'default': '100px'
|
||||
},
|
||||
attributes: {
|
||||
'class': 'img-fluid footer-logo-image',
|
||||
'alt': (paymentMethod.media.translated.alt ?: paymentMethod.translated.name),
|
||||
'title': (paymentMethod.media.translated.title ?: paymentMethod.translated.name)
|
||||
}
|
||||
} %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
|
||||
{% block layout_footer_shipping_logos %}
|
||||
{% for shippingMethod in page.salesChannelShippingMethods %}
|
||||
{% block layout_footer_shipping_logo %}
|
||||
{% if shippingMethod.media %}
|
||||
<div class="footer-logo is-shipping">
|
||||
{% sw_thumbnails 'footer-shipping-image-thumbnails' with {
|
||||
media: shippingMethod.media,
|
||||
sizes: {
|
||||
'default': '100px'
|
||||
},
|
||||
attributes: {
|
||||
'class': 'img-fluid footer-logo-image',
|
||||
'alt': (shippingMethod.media.translated.alt ?: shippingMethod.translated.name),
|
||||
'title': (shippingMethod.media.translated.title ?: shippingMethod.translated.name)
|
||||
}
|
||||
} %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block layout_footer_service_menu %}
|
||||
<div class="container">
|
||||
{% block layout_footer_service_menu_content %}
|
||||
{% apply spaceless %}
|
||||
<ul class="footer-service-menu-list list-unstyled">
|
||||
{% for serviceMenuItem in page.header.serviceMenu %}
|
||||
{% block layout_footer_service_menu_item %}
|
||||
<li class="footer-service-menu-item">
|
||||
<a class="footer-service-menu-link"
|
||||
href="{{ category_url(serviceMenuItem) }}"
|
||||
{% if category_linknewtab(serviceMenuItem) %}target="_blank"{% endif %}
|
||||
title="{{ serviceMenuItem.translated.name }}">
|
||||
{{ serviceMenuItem.translated.name }}
|
||||
</a>
|
||||
</li>
|
||||
{% endblock %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endapply %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block layout_footer_vat %}
|
||||
<div class="footer-vat">
|
||||
{% if context.taxState == "gross" %}
|
||||
<p>
|
||||
{{ "footer.includeVat"|trans({
|
||||
'%url%': path('frontend.cms.page',{ id: config('core.basicInformation.shippingPaymentInfoPage') })
|
||||
})|raw }}
|
||||
</p>
|
||||
{% else %}
|
||||
<p>
|
||||
{{ "footer.excludeVat"|trans({
|
||||
'%url%': path('frontend.cms.page',{ id: config('core.basicInformation.shippingPaymentInfoPage') })
|
||||
})|raw }}
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block layout_footer_copyright %}
|
||||
{#<div class="footer-copyright">
|
||||
{% sw_icon 'shopware' style {'size':'xs'} %}
|
||||
{{ "footer.copyrightInfo"|trans|sw_sanitize }}
|
||||
</div>#}
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
{% sw_extends '@Storefront/storefront/layout/header/actions/account-widget.html.twig' %}
|
||||
|
||||
{% block layout_header_actions_account_widget %}
|
||||
<div class="dropdown">
|
||||
{% block layout_header_actions_account_widget_dropdown_button %}
|
||||
<button class="btn account-menu-btn header-actions-btn"
|
||||
type="button"
|
||||
id="accountWidget"
|
||||
data-offcanvas-account-menu="true"
|
||||
data-toggle="dropdown"
|
||||
aria-haspopup="true"
|
||||
aria-expanded="false"
|
||||
aria-label="{{ "account.myAccount"|trans|striptags }}"
|
||||
title="{{ "account.myAccount"|trans|striptags }}">
|
||||
{% sw_icon 'avatar' %}
|
||||
<span class="label">{{ "account.myAccount"|trans|striptags }}</span>
|
||||
</button>
|
||||
{% endblock %}
|
||||
|
||||
{% block layout_header_actions_account_widget_dropdown_menu %}
|
||||
<div class="dropdown-menu dropdown-menu-right account-menu-dropdown js-account-menu-dropdown"
|
||||
aria-labelledby="accountWidget">
|
||||
{% sw_include '@Storefront/storefront/layout/header/account-menu.html.twig' %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
{% sw_extends '@Storefront/storefront/layout/header/actions/cart-widget.html.twig' %}
|
||||
|
||||
{% block layout_header_actions_cart_widget %}
|
||||
<span class="header-cart-icon">
|
||||
{% sw_icon 'bag' %}
|
||||
</span>
|
||||
{% if page.cart.lineItems|length > 0 %}
|
||||
<span class="badge badge-primary header-cart-badge">{{ page.cart.lineItems|length }}</span>
|
||||
{% endif %}
|
||||
<span class="header-cart-total">
|
||||
{{ page.cart.price.positionPrice|currency }}{{ "general.star"|trans|sw_sanitize }}
|
||||
</span>
|
||||
<span class="label">{{ "checkout.cartTitle"|trans|striptags }}</span>
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{% sw_extends '@Storefront/storefront/layout/header/header.html.twig' %}
|
||||
|
||||
{% block layout_header_logo %}
|
||||
<div class="col-12 col-lg-6 header-logo-col">
|
||||
<p class="delivery">{{ 'header.freeDeliveryText'|trans|sw_sanitize }}</p>
|
||||
</div>
|
||||
{% endblock %}
|
||||
6
src/Resources/views/storefront/layout/meta.html.twig
Normal file
6
src/Resources/views/storefront/layout/meta.html.twig
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{% sw_extends '@Storefront/storefront/layout/meta.html.twig' %}
|
||||
|
||||
{% block layout_head_meta_tags_general %}
|
||||
{{ parent() }}
|
||||
<meta name="google-site-verification" content="nPYgmZewcuxnRPQvR5LV3yFe0YABZIUvECmp-hT9bnc" />
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
{% sw_extends '@Storefront/storefront/page/checkout/cart/index.html.twig' %}
|
||||
{% block page_checkout_container %}
|
||||
{{ parent() }}
|
||||
{#<div class="row align-items-stretch">
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<div class="card bg-light p-3 h-100">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Versand & Kosten</h5>
|
||||
<div class="card-text">
|
||||
<p>
|
||||
Profitieren Sie von unserer <strong>kostenlosen Lieferung ab 12 Flaschen</strong>
|
||||
innerhalb von Deutschland.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Bis 42 Flaschen</strong> erfolgt die Lieferung in 1er, 2er, 3er, 6er oder 12er Versandkartons.<br>
|
||||
<strong>Ab 42 Flaschen</strong> liefern wir in 6er Einweg-Kartons per Spedition.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<div class="card bg-light p-3 h-100">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Bonusprogramm für Privatkunden</h5>
|
||||
<div class="card-text">
|
||||
<p>
|
||||
Kennen Sie schon unser <strong>Bonusprogramm für Privatkunden</strong>? Oder sind Sie bereits
|
||||
Bestandskunde und noch nicht in unserem Onlineshop registriert?<br>
|
||||
Wir übernehmen gerne die Erstregistrierung für Sie.
|
||||
</p>
|
||||
<p>
|
||||
Kontaktieren Sie uns unter: <a href="mailto:vinothek@bweg.de">vinothek@bweg.de</a>
|
||||
</p>
|
||||
<p>
|
||||
Download: Formular Kundenantrag Allgemein
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>#}
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
{% sw_extends '@Storefront/storefront/page/checkout/confirm/index.html.twig' %}
|
||||
|
||||
{% block page_checkout_confirm_revocation_notice %}
|
||||
{% endblock %}
|
||||
|
||||
{% block page_checkout_confirm_tos_control_label %}
|
||||
<label for="tos"
|
||||
class="checkout-confirm-tos-label custom-control-label">
|
||||
{{ "checkout.confirmTerms"|trans({
|
||||
'%url%': path('frontend.cms.page',{ id: config('core.basicInformation.tosPage'), }),
|
||||
'%revUrl%': path('frontend.cms.page',{ id: config('core.basicInformation.revocationPage') })
|
||||
})|raw }}
|
||||
</label>
|
||||
{% endblock %}
|
||||
|
||||
{% block page_checkout_confirm_tos %}
|
||||
{#<div class="card bg-light p-3 mb-5 small">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Versand & Kosten</h5>
|
||||
<div class="card-text">
|
||||
<p>
|
||||
Profitieren Sie von unserer <strong>kostenlosen Lieferung ab 12 Flaschen</strong>
|
||||
innerhalb von Deutschland.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Bis 42 Flaschen</strong> erfolgt die Lieferung in 1er, 2er, 3er, 6er oder 12er Versandkartons.<br>
|
||||
<strong>Ab 42 Flaschen</strong> liefern wir in 6er Einweg-Kartons per Spedition.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>#}
|
||||
|
||||
{{ parent() }}
|
||||
|
||||
|
||||
<div class="confirm-youthprotection">
|
||||
<div class="card checkout-card">
|
||||
<div class="card-body">
|
||||
<div class="card-title">
|
||||
Jugendschutzgesetz
|
||||
</div>
|
||||
|
||||
<p>Gemäß dem Jugendschutzgesetz geben wir keinen Wein an Jugendliche unter 16 Jahren ab. Brandweine werden nicht an Jugendliche unter 18 Jahren abgegeben. <strong>Der Käufer bestätigt mit Abgabe der Bestellung, dass er das erforderliche Lebensalter nach dem Jugendschutzgesetz aufweist.</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{#<div class="confirm-notice">
|
||||
<div class="card checkout-card">
|
||||
<div class="card-body">
|
||||
<div class="card-title">
|
||||
Sie haben uns noch etwas zu Ihrer Bestellung mitzuteilen?
|
||||
</div>
|
||||
|
||||
<p>Schreiben Sie uns einfach an <a href="mailto:verkauf@bweg.de">verkauf@bweg.de</a> unter Angabe Ihrer Bestellnummer.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>#}
|
||||
{% endblock %}
|
||||
|
||||
{% block page_checkout_confirm_form_submit %}
|
||||
{#<div class="card bg-light p-3 my-2 small">
|
||||
<div class="card-body">
|
||||
<strong>Hinweis:</strong> Warenwertgutscheine können aktuell nicht eingelöst werden. Die Funktion steht in den kommenden Tagen wieder zur Verfügung.
|
||||
</div>
|
||||
</div>#}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
24
src/Resources/views/storefront/page/content/index.html.twig
Normal file
24
src/Resources/views/storefront/page/content/index.html.twig
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{% sw_extends '@Storefront/storefront/page/content/index.html.twig' %}
|
||||
|
||||
{% block base_main_inner %}
|
||||
<div class="container-main">
|
||||
{% block page_content %}
|
||||
{% block cms_breadcrumb %}
|
||||
{#<div class="breadcrumb cms-breadcrumb container">
|
||||
{% sw_include '@Storefront/storefront/layout/breadcrumb.html.twig' with {
|
||||
context: context,
|
||||
category: page.header.navigation.active
|
||||
} only %}
|
||||
</div>#}
|
||||
{% endblock %}
|
||||
|
||||
{% block cms_content %}
|
||||
<div class="cms-page">
|
||||
{% block page_content_blocks %}
|
||||
{% sw_include "@Storefront/storefront/page/content/detail.html.twig" with {'cmsPage': page.cmsPage} %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
{% sw_extends '@Storefront/storefront/page/product-detail/buy-widget-price.html.twig' %}
|
||||
|
||||
{% block page_product_detail_price_unit %}
|
||||
<div class="product-detail-price-unit">
|
||||
{% block page_product_detail_price_unit_label %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
|
||||
{% block page_product_detail_price_unit_content %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
|
||||
{% if price.referencePrice is not null %}
|
||||
{% block page_product_detail_price_unit_reference_content %}
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
{% endif %}
|
||||
|
||||
<div class="product-detail-tax-container">
|
||||
{% if context.taxState == "gross" %}
|
||||
{% set taxText = "general.grossTaxInformation"|trans|sw_sanitize %}
|
||||
{% else %}
|
||||
{% set taxText = "general.netTaxInformation"|trans|sw_sanitize %}
|
||||
{% endif %}
|
||||
|
||||
<p class="product-detail-tax">
|
||||
{% block page_product_detail_tax_link %}
|
||||
<a class="product-detail-tax-link"
|
||||
href="{{ path('frontend.cms.page',{ id: config('core.basicInformation.shippingPaymentInfoPage') }) }}"
|
||||
title="{{ taxText }}"
|
||||
data-toggle="modal"
|
||||
data-url="{{ path('frontend.cms.page',{ id: config('core.basicInformation.shippingPaymentInfoPage') }) }}">
|
||||
{{ taxText }}
|
||||
</a>
|
||||
{% endblock %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{% sw_extends '@Storefront/storefront/page/product-detail/buy-widget.html.twig' %}
|
||||
|
||||
{% block page_product_detail_tax %}{% endblock %}
|
||||
{% block page_product_detail_ordernumber_container %}{% endblock %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
{% block page_product_detail_properties_inner %}
|
||||
<div class="product-detail-properties">
|
||||
{% block page_product_detail_properties_container %}
|
||||
<tr class="row product-detail-customfields-container">
|
||||
{% block page_product_detail_properties_table %}
|
||||
<table class="table table-striped product-detail-properties-table">
|
||||
<tbody>
|
||||
{# @var product \Shopware\Core\Content\Product\SalesChannel\SalesChannelProductEntity #}
|
||||
{# {% for customFieldKey, customFieldValue in page.product.translated.customFields %}#}
|
||||
{% block page_product_detail_customfields_table_row %}
|
||||
{% if page.product.extensions.bwegProperties.get('840da18f18184040ac2c34e9a13abd83') is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">Produktlinie:</th>
|
||||
<td class="properties-value">{{ page.product.extensions.bwegProperties.get('840da18f18184040ac2c34e9a13abd83') }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if page.product.translated.customFields.custom_wein_jahrgang|trans is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">{{ "customFields.custom_wein_jahrgang"|trans|sw_sanitize }}:</th>
|
||||
<td class="properties-value">{{ page.product.translated.customFields.custom_wein_jahrgang|trans }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if page.product.translated.customFields.custom_wein_alkohol|trans is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">{{ "customFields.custom_wein_alkohol"|trans|sw_sanitize }}:</th>
|
||||
<td class="properties-value">{{ page.product.translated.customFields.custom_wein_alkohol|trans }} %</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if page.product.translated.customFields.custom_wein_saeure|trans is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">{{ "customFields.custom_wein_saeure"|trans|sw_sanitize }}:</th>
|
||||
<td class="properties-value">{{ page.product.translated.customFields.custom_wein_saeure|trans }} g/l</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if page.product.translated.customFields.custom_wein_restzucker|trans is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">{{ "customFields.custom_wein_restzucker"|trans|sw_sanitize }}:</th>
|
||||
<td class="properties-value">{{ page.product.translated.customFields.custom_wein_restzucker|trans }} g/l</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if page.product.translated.customFields.custom_wein_allergene|trans is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">{{ "customFields.custom_wein_allergene"|trans|sw_sanitize }}:</th>
|
||||
<td class="properties-value">{{ page.product.translated.customFields.custom_wein_allergene|trans }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if page.product.extensions.bwegProperties.get('137f0e25929347c2bf26fc50196a3699') is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">Rebsorte:</th>
|
||||
<td class="properties-value">{{ page.product.extensions.bwegProperties.get('137f0e25929347c2bf26fc50196a3699') }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if page.product.extensions.bwegProperties.get('c19533e52b634c7693e9b27c3c1ab6ab') is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">Auszeichnungen:</th>
|
||||
<td class="properties-value">
|
||||
{{ page.product.extensions.bwegProperties.get('c19533e52b634c7693e9b27c3c1ab6ab') }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if page.product.translated.customFields.custom_wein_anbauregion|trans is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">{{ "customFields.custom_wein_anbauregion"|trans|sw_sanitize }}:</th>
|
||||
<td class="properties-value">{{ page.product.translated.customFields.custom_wein_anbauregion|trans }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if page.product.translated.customFields.custom_wein_erzeuger|trans is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">{{ "customFields.custom_wein_erzeuger"|trans|sw_sanitize }}:</th>
|
||||
<td class="properties-value">{{ page.product.translated.customFields.custom_wein_erzeuger|trans }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if page.product.translated.customFields.custom_wein_ursprungsland|trans is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">{{ "customFields.custom_wein_ursprungsland"|trans|sw_sanitize }}:</th>
|
||||
<td class="properties-value">{{ page.product.translated.customFields.custom_wein_ursprungsland|trans }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if page.product.translated.customFields.custom_wein_losnummer|trans is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">{{ "customFields.custom_wein_losnummer"|trans|sw_sanitize }}:</th>
|
||||
<td class="properties-value">{{ page.product.translated.customFields.custom_wein_losnummer|trans }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if page.product.translated.customFields.custom_wein_apno|trans is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">{{ "customFields.custom_wein_apno"|trans|sw_sanitize }}:</th>
|
||||
<td class="properties-value">{{ page.product.translated.customFields.custom_wein_apno|trans }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{#{% if customFieldKey != 'custom_wein_misc' %}
|
||||
<tr class="properties-row">
|
||||
{% block page_product_detail_customfields_item_label %}
|
||||
<th class="properties-label">{{ "customFields.#{customFieldKey}"|trans|sw_sanitize }}:</th>
|
||||
{% endblock %}
|
||||
{% block page_product_detail_customfields_item_value %}
|
||||
<td class="properties-value">{{ "#{customFieldValue}"|trans }}</td>
|
||||
{% endblock %}
|
||||
</tr>
|
||||
{% endif %}#}
|
||||
{% endblock %}
|
||||
{# {% endfor %}#}
|
||||
{% if page.product.productNumber %}
|
||||
<tr class="properties-row">
|
||||
{% block page_product_detail_ordernumber_label %}
|
||||
<th class="properties-label">{{ "detail.productNumberLabel"|trans|sw_sanitize }}</th>
|
||||
{% endblock %}
|
||||
|
||||
{% block page_product_detail_ordernumber %}
|
||||
<td class="properties-value"><meta itemprop="productID" content="{{ page.product.id }}"/> <span itemprop="sku">{{ page.product.productNumber }}</span></td>
|
||||
{% endblock %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if page.product.translated.customFields.custom_expertise_pdf is not empty %}
|
||||
<tr class="properties-row">
|
||||
<th class="properties-label">{{ "detail.expertiseLabel"|trans|sw_sanitize }}</th>
|
||||
<td class="properties-value"><a href="https://dev.bergstraesserwinzer.de/files/bweg_2021/Downloads/Expertisen{% if page.product.translated.customFields.custom_expertise_pdf starts with '/' %}{{ page.product.translated.customFields.custom_expertise_pdf }}{% else %}/{{ page.product.translated.customFields.custom_expertise_pdf }}{% endif %}">» Downloaden</a></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
{% sw_extends '@Storefront/storefront/page/product-detail/description.html.twig' %}
|
||||
|
||||
{% block utilities_offcanvas_content %}
|
||||
{% block page_product_detail_description_container %}
|
||||
<div class="product-detail-description tab-pane-container">
|
||||
{% block page_product_detail_description_title %}
|
||||
{#<div class="h3 product-detail-description-title">
|
||||
{{ "detail.miscTitle"|trans|sw_sanitize }}
|
||||
</div>#}
|
||||
{% endblock %}
|
||||
|
||||
{% block page_product_detail_description_content %}
|
||||
{% block page_product_detail_description_content_text %}
|
||||
<div class="product-detail-description-text">
|
||||
{{ page.product.translated.customFields.custom_wein_misc|raw }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block page_product_detail_description_content_properties %}
|
||||
{#{% if page.product.sortedProperties|length > 0 %}
|
||||
{% sw_include '@Storefront/storefront/page/product-detail/properties.html.twig' %}
|
||||
{% endif %}#}
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
{% sw_extends '@Storefront/storefront/page/product-detail/index.html.twig' %}
|
||||
|
||||
{% block base_breadcrumb %}{% endblock %}
|
||||
{% block page_product_detail_headline %}{% endblock %}
|
||||
|
||||
{% block page_product_detail_media %}
|
||||
<div class="col-lg-7 product-detail-media">
|
||||
{% if page.product.media %}
|
||||
{% sw_include '@Storefront/storefront/element/cms-element-image-gallery.html.twig' with {
|
||||
'mediaItems': mediaItems,
|
||||
'zoom': false,
|
||||
'zoomModal': true,
|
||||
'displayMode': 'contain',
|
||||
'gutter': 5,
|
||||
'minHeight': '430px',
|
||||
'navigationArrows': 'inside',
|
||||
'navigationDots': 'inside',
|
||||
'galleryPosition': 'left',
|
||||
'isProduct': true,
|
||||
'fallbackImageTitle': page.product.translated.name,
|
||||
'startIndexThumbnails': page.product.cover.position + 1,
|
||||
'startIndexSlider': page.product.cover.position + 1
|
||||
} %}
|
||||
{% endif %}
|
||||
{% if page.product.extensions.awardMedia|length %}
|
||||
<div class="awards">
|
||||
{% for awardMedia in page.product.extensions.awardMedia.all() %}
|
||||
<a href="https://www.wg-schriesheim.de/auszeichnungen"
|
||||
title="{{ name }}" target="_blank">
|
||||
{% sw_thumbnails 'awardMedia' with {
|
||||
media: awardMedia|first,
|
||||
sizes: {
|
||||
'xs': '501px',
|
||||
'sm': '315px',
|
||||
'md': '427px',
|
||||
'lg': '333px',
|
||||
'xl': '284px',
|
||||
'default': '100px'
|
||||
},
|
||||
attributes: {
|
||||
'title': awardMedia|first.title
|
||||
}
|
||||
} %}
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block page_product_detail_buy %}
|
||||
<div class="col-lg-5 product-detail-buy">
|
||||
{% block page_product_detail_name %}
|
||||
<h1 class="product-detail-name"
|
||||
itemprop="name">
|
||||
{% if page.product.customFields.custom_wein_jahrgang %}<span class="year">{{ page.product.customFields.custom_wein_jahrgang }}er</span>{% endif %}
|
||||
<span class="site">{{ page.product.extensions.bwegProperties.get('4d005d04a2924cc4b59612875aee757c') }}</span>
|
||||
{{ page.product.translated.name }}
|
||||
<span class="qty_taste">{#{{ page.product.extensions.bwegProperties.get('3897a8e7eb47405f941525a2c21395c8') }}#}{{ page.product.extensions.bwegProperties.get('840da18f18184040ac2c34e9a13abd83') }} {{ page.product.extensions.bwegProperties.get('087598bcbf044684b57fa108f0385128') }}</span>
|
||||
{% if page.product.customFields.custom_wein_addendum %}
|
||||
<span class="addendum">{{ page.product.customFields.custom_wein_addendum }}</span>
|
||||
{% endif %}
|
||||
</h1>
|
||||
{% endblock %}
|
||||
{% sw_include '@Storefront/storefront/page/product-detail/buy-widget.html.twig' %}
|
||||
{% block page_product_detail_buy_description %}
|
||||
<div class="h3 product-detail-description-title">
|
||||
{# {{ "detail.characterTitle"|trans|sw_sanitize }} #}
|
||||
{{ "detail.miscTitle"|trans|sw_sanitize }}
|
||||
</div>
|
||||
<div class="product-detail-description-text"
|
||||
itemprop="description">
|
||||
{{ page.product.translated.description|raw }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% sw_include '@Bweg/storefront/page/product-detail/customfields.html.twig' %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
{% sw_extends '@Storefront/storefront/page/product-detail/properties.html.twig' %}
|
||||
|
||||
{% block page_product_detail_properties_inner %}
|
||||
<div class="product-detail-properties">
|
||||
{% block page_product_detail_properties_container %}
|
||||
<div class="row product-detail-properties-container">
|
||||
<div class="col-md-10 col-lg-6">
|
||||
{% block page_product_detail_properties_table %}
|
||||
<table class="table table-striped product-detail-properties-table">
|
||||
<tbody>
|
||||
{# @var product \Shopware\Core\Content\Product\SalesChannel\SalesChannelProductEntity #}
|
||||
{% for group in page.product.sortedProperties %}
|
||||
{% block page_product_detail_properties_table_row %}
|
||||
<tr class="properties-row">
|
||||
{% block page_product_detail_properties_item_label %}
|
||||
<th class="properties-label">{{ group.translated.name|e }}:</th>
|
||||
{% endblock %}
|
||||
{% block page_product_detail_properties_item_value %}
|
||||
<td class="properties-value">
|
||||
{% apply spaceless %}
|
||||
{% for option in group.options %}
|
||||
{% set i = ( i | default(0) ) + 1 %}
|
||||
<span>{% if i > 1 %}, {% endif %}{{ option.translated.name|e }}</span>
|
||||
{% endfor %}
|
||||
{% endapply %}
|
||||
</td>
|
||||
{% endblock %}
|
||||
</tr>
|
||||
{% endblock %}
|
||||
{% endfor %}
|
||||
{% for customFieldKey, customFieldValue in page.product.translated.customFields %}
|
||||
{% block page_product_detail_customfields_table_row %}
|
||||
<tr class="properties-row">
|
||||
{% block page_product_detail_customfields_item_label %}
|
||||
<th class="properties-label">{{ "customFields.#{customFieldKey}"|trans|sw_sanitize }}:</th>
|
||||
{% endblock %}
|
||||
{% block page_product_detail_customfields_item_value %}
|
||||
<td class="properties-value">{{ "#{customFieldValue}"|trans }}</td>
|
||||
{% endblock %}
|
||||
</tr>
|
||||
{% endblock %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
{% sw_extends '@Storefront/storefront/page/product-detail/tabs.html.twig' %}
|
||||
|
||||
{% block page_product_detail_tabs_navigation_description %}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {% if (ratingSuccess != 1) and (ratingSuccess != -1) %}active{% endif %} product-detail-tab-navigation-link"
|
||||
id="description-tab"
|
||||
data-toggle="tab"
|
||||
data-offcanvas-tabs="true"
|
||||
href="#description-tab-pane"
|
||||
role="tab"
|
||||
aria-controls="description-tab-pane"
|
||||
aria-selected="true">
|
||||
<span class="product-detail-tab-navigation-icon">
|
||||
{% sw_icon 'arrow-medium-right' style {'pack':'solid'} %}
|
||||
</span>
|
||||
{% if page.product.translated.description|length > 0 %}
|
||||
<span class="product-detail-tab-preview">
|
||||
{{ page.product.translated.description|raw|striptags|sw_sanitize|u.truncate(125, '…') }}
|
||||
|
||||
{# truncate always cuts down the length to 125 characters.
|
||||
So it will only shorten the string if it exceeds 125 chars.
|
||||
Therefor, only show the button when the length of the text is
|
||||
greater or equal then 126 characters. #}
|
||||
{% if page.product.translated.description|length >= 126 %}
|
||||
<span class="product-detail-tab-preview-more">{{ "detail.tabsPreviewMore"|trans|sw_sanitize }}</span>
|
||||
{% endif %}
|
||||
</span>
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
{% endblock %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue