На главной странице сайта использую модуль "Карусель рекомендуемых товаров". Модуль дает возможность создавать не ограниченное количество блоков карусели с товарами. Но проблема в том, что для каждого созданного блока добавляется скрипт карусели, который находится в файле /catalog/view/theme/default/template/extension/module/featuredcarusel.tpl Спойлер: Полный код файла featuredcarusel <div class="module-name"><h3 class="title-topic"><?php echo $heading_title; ?></h3></div> <div id="prodcarousel<?php echo $module; ?>" class="owl-carousel productcarusel"> <?php foreach ($products as $product) { ?> <div class="item product-layout product-grid"> <div class="product-thumb transition"> <div class="kod-tovar"><?php echo $text_cod_model; ?> <?php echo $product['model']; ?></div> <div class="image"> <a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="lazy img-responsive" /></a> </div> <div class="caption"> <div class="slay-product"> <a href="<?php echo $product['href']; ?>" class="title"><?php echo $product['name']; ?></a> </div> <?php if ($prodview !=1 && $prodview !=2) { ?> <p><?php echo $product['description']; ?></p> <?php } ?> <?php if ($product['rating']) { ?> <div class="rating"> <?php for ($i = 1; $i <= 5; $i++) { ?> <?php if ($product['rating'] < $i) { ?> <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-2x"></i></span> <?php } else { ?> <span class="fa fa-stack"><i class="fa fa-star fa-stack-2x"></i><i class="fa fa-star-o fa-stack-2x"></i></span> <?php } ?> <?php } ?> </div> <?php } ?> <?php if ($product['price']) { ?> <p class="price"> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span> <span class="procent"> - <?php echo $product['skidka']; ?>% </span> <?php } ?> <?php if ($product['tax']) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span> <?php } ?> </p> <?php } ?> <div class="button-group"> <?php if ($prodview !=1 && $prodview !=3) { ?> <button type="button" onclick="cart.add('<?php echo $product['product_id']; ?>');"><i class="fa fa-shopping-basket"></i> <?php echo $button_cart; ?></button> <?php } else { ?> <a href="<?php echo $product['href']; ?>"><i class="fa fa-arrow-circle-right"></i> <?php echo $text_more; ?></a> <?php } ?> </div> </div> </div> </div> <?php } ?> </div> <script> $('#prodcarousel<?php echo $module; ?>').owlCarousel({ items: <?php echo $items; ?>, loop: true, autoplay: false, autoplayTimeout: 6000, nav: true, margin: 5, navText: ['<i class="fa fa-chevron-left"></i>', '<i class="fa fa-chevron-right"></i>'], navElement: ['button type="button" role="button" tabindex="0" aria-label="Previous"', 'button type="button" role="button" tabindex="0" aria-label="Next"'], dots: false, responsive:{1200:{items:5,},992:{items:4,},768:{items:3,},640:{items:3,},450:{items:2,},360:{items:2,},300:{items:1,},100:{items:1,}},} }); </script> Подобный вариант не очень подходит, так как очень сильно перенагружает систему и ухудшает скорость генерации страниц. Один специалист подсказал вариант, вырезать скрипт из файла featuredcarusel.tpl и подключить в файле common.js но данный вариант не сработал. Спойлер: Скрипт подключение в common.js if ($('.prodcarousel').length) { $('#prodcarousel<?php echo $module; ?>').owlCarousel({ items: <?php echo $items; ?>, loop: true, autoplay: false, autoplayTimeout: 6000, nav: true, margin: 5, navText: ['<i class="fa fa-chevron-left"></i>', '<i class="fa fa-chevron-right"></i>'], navElement: ['button type="button" role="button" tabindex="0" aria-label="Previous"', 'button type="button" role="button" tabindex="0" aria-label="Next"'], dots: false, responsive:{1200:{items:5,},992:{items:4,},768:{items:3,},640:{items:3,},450:{items:2,},360:{items:2,},300:{items:1,},100:{items:1,}},} })}; Помогите разобраться и правильно подключить скрипт. Сайт на CMS Ocstore 2.3
Здравствуйте Скрипт запускается с учётом номера модуля, т.е. для каждого блока отдельно выполняется, а не пересоздаёт для всех. Поэтому не совсем понятно чего вы хотите.
Да вы правы, для каждого блока работает отдельный скрип, который определяется по id блоку. Я хотел улучшить показатели и скорость генерации страницы, тем самым уменьшить количество скриптов объединив их через common.js