<!-- ========== (Gerekirse) SLICK CSS/JS ========== -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css"/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick-theme.css"/>
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
<style>
.recommendation__title { padding-top:10px; margin-bottom:12px; font-weight:700; }
#related-recs { overflow: hidden; }
/* Kart */
.slick-next {
right: 4% !important;
}
.slick-prev {
left: 2% !important;
z-index: 999;
}
.slick-prev:before,
.slick-next:before {
font-size: 50px;
color: black;
}
#related-recs {
margin-bottom: 25px;
overflow: hidden;
}
.scarab-item img {
display: block;
margin: 0 auto 12px;
max-height: 400px;
}
@media (max-width: 600px) {
.scarab-item img {
max-height: 150px;
}
.slick-next,
.slick-arrow {
display: none !important;
}
.scarab-item.slick-slide {
width: 150px !important;
}
#related-recs {
margin-bottom: 60px;
}
}
.scarab-item {
box-sizing: border-box;
/* padding:8px; */
margin: 0 4px;
max-width: 248px;
width: 100%;
font-family:
FFDINProforIIC,
ui-sans-serif,
system-ui,
-apple-system,
BlinkMacSystemFont,
Segoe UI,
Roboto,
Helvetica Neue,
Arial,
Noto Sans,
sans-serif;
font-size: 0.875rem;
color: #164196;
}
.scarab-item a {
color: inherit;
text-decoration: none;
display: block;
}
.scarab-item img {
display: block;
margin: 0 auto 12px;
max-height: 248px;
}
.scarab-ptitle {
display: block;
text-align: left;
font-size: 0.875rem;
font-weight: 700;
line-height: 1.25rem;
height: 40px;
overflow: hidden;
text-overflow: ellipsis;
}
.price-info {
color: #164196;
font-size: 0.875rem;
font-weight: 700;
text-align: left;
}
.current-price {
color: #e30613;
}
.discounted-price {
text-decoration: line-through;
margin-left: 6px;
font-weight: 500;
}
.slick-prev:before,
.slick-next:before {
opacity: 0.65;
}
</style>
<!-- RELATED recommendations burada render edilecek -->
<div id="related-recs"></div>
<script type="text/html" id="related-template">
<![CDATA[
{{ if (SC.page.products && SC.page.products.length) { }}
<h4 class="recommendation__title">Bu ürünleri de beğenebilirsin</h4>
<!-- Slick kaydırıcı sarmalayıcı -->
<div class="scarab-slick related">
{{ for (var i=0; i<SC.page.products.length; i++) { }}
{{ var p = SC.page.products[i]; }}
<div class="scarab-item" data-scarabitem="{{= p.id }}">
<a href="{{= p.link }}">
<!-- Slick lazy-load: src yerine data-lazy -->
<img data-lazy="{{= p.image }}" alt="{{= p.title }}">
</a>
<span class="scarab-ptitle">{{= p.title }}</span>
<div class="price-info">
{{ var hasMsrp = (typeof p.msrp !== 'undefined' && p.msrp !== null && p.msrp !== 0); }}
{{ if (hasMsrp && p.msrp != p.price) { }}
<span class="current-price">{{= Number(p.price).toLocaleString('tr-TR') }} TL</span>
<span class="discounted-price">{{= Number(p.msrp).toLocaleString('tr-TR') }} TL</span>
{{ } else { }}
<span class="current-price">{{= Number(p.price).toLocaleString('tr-TR') }} TL</span>
{{ } }}
</div>
</div>
{{ } }}
</div>
{{ } }}
]]>
</script>
<script>
(function(){
var relatedInited = false;
function initRelatedSlick(){
if(relatedInited) return;
var $wrap = $('#related-recs .scarab-slick');
var itemCount = $wrap.children('[data-scarabitem]').length;
if(!$wrap.length || !itemCount) return;
relatedInited = true;
// Kaç gösterileceğine göre autoplay/infinite kararları:
var show = 6;
var canLoop = itemCount > show;
$wrap.slick({
slidesToShow: 6,
slidesToScroll: 2,
autoplay: true,
autoplaySpeed: 2500, // 2.5 sn (isteğe göre 2000-4000 ms)
pauseOnHover: true,
pauseOnFocus: true,
infinite: true,
speed: 400,
arrows: true,
dots: false,
lazyLoad: 'progressive',
variableWidth: false,
responsive: [
{ breakpoint: 1280, settings: { slidesToShow: 5, slidesToScroll: 5, infinite: itemCount > 5, autoplay: itemCount > 5 } },
{ breakpoint: 1024, settings: { slidesToShow: 4, slidesToScroll: 4, infinite: itemCount > 4, autoplay: itemCount > 4 } },
{ breakpoint: 768, settings: { slidesToShow: 3, slidesToScroll: 3, infinite: itemCount > 3, autoplay: itemCount > 3 } },
{ breakpoint: 600, settings: { slidesToShow: 2, slidesToScroll: 2, infinite: itemCount > 2, autoplay: itemCount > 2 } }
]
});
console.log('[RELATED] items:', itemCount);
}
// Emarsys recommend: RELATED → gerekirse AUTO fallback
var ScarabQueue = window.ScarabQueue = window.ScarabQueue || [];
/* ScarabQueue.push(['recommend', {
logic: 'RELATED',
containerId: 'related-recs',
templateId: 'related-template',
limit: 24,
success: function(){
// RELATED sonuç vermediyse AUTO'ya düş
if (!document.querySelector('#related-recs .scarab-slick [data-scarabitem]')) {
ScarabQueue.push(['recommend', {
logic: 'AUTO',
containerId: 'related-recs',
templateId: 'related-template',
limit: 24,
success: function(){ initRelatedSlick(); }
}]);
} else {
initRelatedSlick();
}
}
}]);
*/
// Yedek gözlemci: render çok hızlı gelirse
var rel = document.getElementById('related-recs');
if(rel){
var obs = new MutationObserver(function(){
if (document.querySelector('#related-recs .scarab-slick [data-scarabitem]')) {
initRelatedSlick();
obs.disconnect();
}
});
obs.observe(rel, { childList: true, subtree: true });
}
})();
</script>