Ошибку TypeError: изображения.elevateZoom не является функцией: сбой в теме Magento 1.9 RWD

в Magento 1.9 CE, если мы просматриваем страницу отзывов о продукте, он отображает ошибку

TypeError: изображение.elevateZoom не является функцией

Это потому, что magento масштабирует изображение на странице продукта с помощью этого плагин

интерпретатор JavaScript, из-за сбоя завершает работу на этой странице, JavaScript не выполняется. Это приводит к снижению функциональности страницы.

может ли кто-нибудь помочь мне в том, как чтобы удалить эту ошибку, чтобы я мог использовать js на этой странице?

эти ребята говорят, что они решили проблему, но я не могу получить решение.

Я спросил то же самое вопрос о стеке Magento.

4 ответов


у меня такая же проблема - не то, что это полное решение, но это, безусловно, останавливает ошибку на данный момент, останавливая функцию, вызываемую на странице обзора.

в файле / skin/frontend/rwd/default/js / app.js

строка 649 изменить

image.elevateZoom();

to

if ($('.review-product-list').length == 0) {
image.elevateZoom();
}

мы только что столкнулись с этим для клиента. Это было решено путем изменения сценария, на который ссылаются из минимальной версии в полную версию. Поэтому замените это:

<action method="addItem"><type>skin_js</type>   
  <script>js/lib/elevatezoom/jquery.elevateZoom-3.0.8.min.js</script>
</action>

С этого:

<action method="addItem"><type>skin_js</type> 
  <script>js/lib/elevatezoom/jquery.elevateZoom-3.js</script>
</action>

ошибка разрешена и масштабирование работает.


открыть app/design/frontend/your-package/your-theme/template/catalog/product/view/media.html комментарий ниже фрагмент кода

<!-- <script type="text/javascript">
    // <![CDATA[
        Event.observe(window, 'load', function() {
            product_zoom = new Product.Zoom('image', 'track', 'handle', 'zoom_in', 'zoom_out', 'track_hint');
        });
    //]]>
    </script> -->

у меня была такая же проблема, и после долгого поиска я использую этот код, и все работает хорошо . Я использую var $j = jQuery.noConflict(); до