Собственно, решил я данную проблему, покрайней мере для себя
Код:
jQuery(document).ready(function(){
if (jQuery.cookie('choice') == 1) {
jQuery('#payment_id_1').show();
jQuery("label[for='payment_id_1']").show();
} else {
jQuery('#payment_id_1').hide();
jQuery("label[for='payment_id_1']").hide();
}
// Получаем куки, если в куки - 1, то первый способ оплаты доступен, если нет(не 1) - скрыт
jQuery('input:radio[name=virtuemart_shipmentmethod_id]').click(function(){
if (jQuery('#shipment_id_1').prop('checked') == true) {
jQuery('#payment_id_1').show();
jQuery("label[for='payment_id_1']").show();
jQuery.cookie('choice', '1');
}
//Если выбраем первый способ доставки, то первый способ оплаты будет доступен, и в куки записывается единица
else {
jQuery('#payment_id_1').hide();
jQuery("label[for='payment_id_1']").hide();
jQuery.cookie('choice', '0');
}
//Если выбираем другой способ доставки, то первый способ оплаты будет скрыт, в этом случае, в куки записывается 0
});
});
В данном примере, первый способ оплаты будет появляться только в случае, если выбран первый способ доставки.
У меня стоит плагин one page checkout от Linelab. Код, приведённый выше, нужно вставить сразу после строк в файле default.php( этот файл вы копировали в папку с шаблоном при установке плагина )
Код:
document.id('payments').empty();
var payments="";
if(json.payments) {
for(var i=0;i<json.payments.length;i++) {
payments+=json.payments[i].toString().replace('input','input onclick="update_form();"')+'<br />';
}
document.id('payments').set('html',payments);
}
Так же, нужно подключить в корзине, файл с библиотекой Jquery(если ещё не подключен) и плагин куки(скачать его можно отсюда
Для просмотра ссылки Войди или Зарегистрируйся )
P.S. Впринципе, таким способом можно связать любое количество способов оплаты и доставки, только строчек, соответственно, побольше будет)
P.S.S. Данный способ должен работать и со стандартной корзиной, код, соответственно, нужно будет вставлять в другое место