Пользовательские параметры Magento - установите каждый первый переключатель - PullRequest
2 голосов
/ 15 марта 2011

У нас есть магазин Magento с некоторыми продуктами, в которых есть переключатели. У каждой необязательной опции по умолчанию отмечена первая кнопка, но не обязательные. Как я могу сделать их проверены?

Я уже установил расширение «Зависимые пользовательские параметры» (галерея). Это дает мне возможность установить, какой пользовательский параметр должен быть выбран по умолчанию, но это не приводит к обновлению цены до нужного значения.

Спасибо за помощь, evey

Ответы [ 4 ]

3 голосов
/ 24 мая 2011

Это решение может быть не лучшим для вас, но у меня была такая же проблема, и я только что исправил ее.

Сначала мне пришлось использовать сложный метод для правильной установки jQuery в Magento. Я полагаю, что часть проблемы связана с тем, что файл Spriptaculous Effects устарел в последней версии Magento. Поэтому я зашел на сайт www.script.aculo.us и скачал последнюю версию. Затем я вытащил файл effect.js и использовал его, чтобы перезаписать effect.js в:

[Magento] / JS / Scriptaculous

Затем я скачал jQuery с сайта jQuery и создал папку с именем jquery в:

[Magento] / JS /

И поместил туда файл jquery.

Потом я открыл файл:

[Magento] /app/design/frontend/default/default/layout/page.xml

И нашел список строк, которые выглядят так:

<action method="addJs"><script>scriptaculous/effects.js</script></action>

Я скопировал один из них и заменил путь к файлу jquery следующим образом.

<action method="addJs"><script>jquery/jquery-1.6.1.min.js</script></action>

Теперь jQuery будет включен во все ваши страницы.

Внимание! Вы должны запустить jQuery в режиме noConflict (). Так вот как выглядит JS (для меня), чтобы выбрать первый переключатель на любой странице с пользовательскими настройками.

var $j = jQuery.noConflict();

$j(document).ready(function(){

// auto selects the first input with radio class
$j('.options-list input.radio:first').attr('checked','checked');

});

Я сохранил этот файл в своей папке jquery и связал его так же, как и с библиотекой jQ.

очистил мой кеш и вуаля!

Надеюсь, это поможет!

2 голосов
/ 21 марта 2017

Вы можете использовать jQuery, как говорит Гордон, но для обновления цены вам нужно запустить функцию opConfig.reloadPrice () при проверке.Так что код будет примерно таким:

var $j = jQuery.noConflict();

$j(document).ready(function(){

// auto selects the first input with radio class
$j('.options-list input.radio:first').attr('checked','checked');
opConfig.reloadPrice();
});
1 голос
/ 05 ноября 2014

Перейдите в приложение \ code \ core \ Mage \ Catalog \ Block \ Product \ View \ Options \ Type \ select.php

Здесь вы можете найти свой заголовок пользовательской опции и установить условие с вашим заголовком.

Например, мой заголовок пользовательской опции - цена:

если ($ this-> htmlEscape ($ _ опцию-> GetTitle () == 'Цена'))

1 голос
/ 15 марта 2011

Существует функция javascript с именем что-то вроде optionsConfig.reloadPrice(), которая при вызове обновляет цену в соответствии с опциями. Вам, вероятно, нужно, чтобы это срабатывало во время события dom:loaded.

...