{% extends getThemeDir('base.html.twig') %}
{% block seo %}
{# مهم: روت محصول پارامتر urlSlug میخواهد؛ مدل محصول باید getUrlSlug() یا getSlug() داشته باشد #}
{{ render_seo('product', product, app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}
{% endblock %}
{% block body %}
<style>
.ui-variant--color .ui-variant--check {
padding-right: 10px !important;
}
</style>
<div class="container main-container">
{% include getThemeDir('product/bread-crumb.html.twig') with {'product' : product} %}
{% include getThemeDir('product/intro.html.twig') with {'product' : product} %}
<div class="dt-sn mb-5 px-0 dt-sl pt-0">
{% include getThemeDir('product/tabs.html.twig') with {'product' : product,'comments' : comments} %}
</div>
<section class="slider-section dt-sl mb-5">
<div class="row mb-3">
<div class="col-12">
<div class="section-title text-sm-title title-wide no-after-title-wide">
<h2>خریداران این محصول، محصولات زیر را هم خریدهاند</h2>
</div>
</div>
<div class="col-12">
<div class="product-carousel carousel-lg owl-carousel owl-theme">
{% for product in relatedProducts %}
<div class="item">
{% include getThemeDir('cards/single-product.html.twig') with {'product' : product} %}
</div>
{% endfor %}
</div>
</div>
</div>
</section>
</div>
{% endblock %}
{% block javascripts %}
<script>
function setupDynamicCollection(containerId, addButtonId) {
const container = document.querySelector(`#${containerId} [data-prototype]`);
const addButton = document.getElementById(addButtonId);
let index = container.children.length;
addButton.addEventListener('click', () => {
const prototype = container.dataset.prototype;
const newForm = prototype.replace(/__name__/g, index);
const wrapper = document.createElement('div');
wrapper.classList.add('input-group', 'mb-2');
wrapper.innerHTML = newForm + '<button type="button" class="btn btn-danger remove-item">–</button>';
container.appendChild(wrapper);
index++;
});
container.addEventListener('click', (e) => {
if (e.target.classList.contains('remove-item')) {
e.target.closest('.input-group').remove();
}
});
}
document.addEventListener('DOMContentLoaded', () => {
setupDynamicCollection('pros-container', 'add-pro');
setupDynamicCollection('cons-container', 'add-con');
});
</script>
{% endblock %}