Як зняти масштабування зі сторінки деталей продукту на тему 1.9 RWD


9

Як видалити функцію масштабування з теми теми Magento 1.9?

Я можу його видалити за допомогою css

div.zoomContainer {
  display: none;
}

Але я не думаю, що це найкращий метод? Краще буде видалити його з файлу шаблону або з xml.

Я спробував редагувати шаблон / каталог / продукт / view / media.phtml, але не пощастило.


Ні, це не правильний метод, бо зараз дивіться останню відповідь із моєю редагуванням.
Simbus82

Відповіді:


10

Як було сказано в одній з інших відповідей, функція масштабування запускається у createZoomфункції файлу ProductMediaManagerin /skin/frontend/rwd/default/js/app.js.

Отже, ще одним варіантом є переосмислення окремої createZoomфункції через JS пізніше в процесі.

Наприклад, якщо ви вставляєте JS як частину власної теми, ви можете додати наступне для зміни createZoomфункції в ProductMediaManagerоб’єкті.

// ProductMediaManager is outside document.read scope
if (typeof ProductMediaManager !== 'undefined') {

  // Override image zoom in /skin/frontend/rwd/default/js/app.js
  // and prevent the zooming of images on hover
  ProductMediaManager.createZoom = function(image) { return; }

}

За допомогою цього методу вам не доведеться копіювати весь app.jsфайл. Однак ви повинні переконатися, що JS вашої теми додано після файлу JS батьківської теми. Я вважаю це більш чистим підходом.


Працювало для мене, але майте на увазі, що перезапис не може бути завантажений занадто пізно. Я загорнув його в документ jQuery, готовий спостерігачеві, і вже було пізно, щоб перезаписати щось робити. Натомість мені довелося виконати перезапис права під час завантаження мого користувальницького файлу JS, тому я просто розмістив його поза спостерігачем, готовим до документа jQuery.
Луї Б.

15

Створіть перезапис файлу /skin/frontend/rwd/default/js/app.js (наприклад, у /skin/frontend/rwd/mystyle/js/app.js)

коментувати рядок (default line: 649):

//image.elevateZoom();

Оновіть кеш Magento.


1
Я відредагував, тому що це правильний метод.
Simbus82

2
Трохи кращим рішенням може бути просто додавання return;заяви на самому початку цієї createZoomфункції, в якій знаходиться цей image.elevateZoom();виклик. Таким чином, жоден з клієнтських JavaScript навіть не повинен виконувати в першу чергу. (все ж дотримуйтесь спочатку практику зміни цього файла в локальній темі)
Даррен Фелтон,

-3

Відкрити /frontend/rwd/default/layout/catalog.xml, у <catalog_product_view>розділі коментар нижче рядка

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

дякую, але якщо видалити цей js-файл, я більше не можу вибрати мініатюрні зображення для головної галереї
Холлі

Це не правильний метод відключення цієї функції.
Simbus82

3
Ніколи не слід змінювати файли в / app / design / frontend / rwd / default / layout / АБО будь-який з файлів / app / design / frontend / base / default / layout / . Це не відповідає принципам дружньої практики щодо оновлення. Оновлення макета завжди слід робити в "local.xml" у межах вашої теми. Не існує жодних інструкцій XML-макета, які не можна перекрити, змінити, видалити тощо в local.xml.
Даррен Фелтон

Це призведе до помилки, оскільки не вдасться знайти elevatezoom
Tisch
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.