Добрый день, пытаюсь темизировать корзину и мне необходимо вывести блок в котором выводится финальная сумма и кнопки продолжить, обновить корзину перенести в правую часть. Я смотрю во вьюшку которой она формируется, похоже что этот блок рендерится в футере вьюшки.
Ок, я пробую переопределить шаблон этой вьюшки, создаю views-view--commerce-cart-form.html.twig
set classes = [
'view',
'view-' ~ id|clean_class,
'view-id-' ~ id,
'view-display-id-' ~ display_id,
dom_id ? 'js-view-dom-id-' ~ dom_id,
]
%}
<div{{ attributes.addClass(classes) }}>
{{ title_prefix }}
{% if title %}
{{ title }}
{% endif %}
{{ title_suffix }}
{% if header %}
<div class="view-header">
{{ header }}
</div>
{% endif %}
{% if exposed %}
<div class="view-filters">
{{ exposed }}
</div>
{% endif %}
{% if attachment_before %}
<div class="attachment attachment-before">
{{ attachment_before }}
</div>
{% endif %}
<div class="view-main-wrapper" style="display: flex;">
{% if rows %}
<div class="view-content" style="width: 66.66%; padding-right: 20px;">
{{ rows }}
</div>
{% elseif empty %}
<div class="view-empty">
{{ empty }}
</div>
{% endif %}
{% if footer %}
<div class="view-footer" style="width: 33.33%; padding-left: 20px;">
{{ footer }}
</div>
{% endif %}
</div>
{% if pager %}
{{ pager }}
{% endif %}
{% if attachment_after %}
<div class="attachment attachment-after">
{{ attachment_after }}
</div>
{% endif %}
{% if more %}
{{ more }}
{% endif %}
{% if feed_icons %}
<div class="feed-icons">
{{ feed_icons }}
</div>
{% endif %}
</div>
Но похоже что этот блок выводится как то иначе, потому что {{ footer }}
на него никак не влияет, а вот если я удаляю например {{ rows }}, то удаляется сразу все - и список товаров в корзине и итоговая сумма и кнопки. Как это работает?
Комментарии
В общем переопределил шаблон формы
views-form-commerce-cart-form-default.html.twig
<?php/**
* Implements hook_theme().
*/
function drowl_child_theme($existing, $type, $theme, $path) {
return [
'views_form_commerce_cart_form_default' => [
'render element' => 'form',
'path' => $path . '/templates/commerce/cart',
],
];
}?>
и в нем уже все это разнес
<form{{ attributes }}>
<div class="row">
<div class="col-md-8">
<div class="commerce-cart__line-item-box">
<div class="cart-items-container">
{{ form|without('actions', 'footer') }}
</div>
</div>
</div>
<div class="col-md-4 commerce-cart__actions-sum">
<div class="cart-actions-container">
{{ form.footer }}
{{ form.actions }}
</div>
</div>
</div>
</form>
</div>
шаблон должен быть по пути
/templates/commerce/cart
, вдруг кому то пригодится.