daramal Posted June 4, 2016 Report Share Posted June 4, 2016 Друзья, приветствую! Такая задачка возникла. В Админке, там где Заказы. Заходим например в какой-нибудь заказ и мы видим, что есть возможность редактировать все параметры заказа в самой админке, включая и добавление товаров к заказу. Меня сейчас интересует только один момент. При добавление дополнительного нужного товара из каталога товар добавляется, но перерасчет Итоговой цены не происходит, пока не нажмем кнопку "Сохранить". Так вот, как можно сделать, не знаю аяйксовой версии или же хотя бы как в Корзине, когда меняем количество товара, страница обновляется и происходит обновление итоговой цены? Спасибо большое за любую информацию! Quote Link to post Share on other sites
Kors Posted June 4, 2016 Report Share Posted June 4, 2016 В обычной корзине перезагрузка при изменении количества задается в строке<select name="amounts[{$purchase->variant->id}]" onchange="document.cart.submit();"> Видимо, надо пробовать аналогично сделать в админке... Quote Link to post Share on other sites
daramal Posted June 4, 2016 Author Report Share Posted June 4, 2016 в файле order.tpl есть код отвечающий за это событие, вот только как туда вставить этот фокус ?)// Добавление товара var new_purchase = $('.purchases #new_purchase').clone(true); $('.purchases #new_purchase').remove().removeAttr('id'); $("input#add_purchase").autocomplete({ serviceUrl:'ajax/add_order_product.php', minChars:0, noCache: false, onSelect: function(suggestion){ new_item = new_purchase.clone().appendTo('.purchases'); new_item.removeAttr('id'); new_item.find('a.purchase_name').html(suggestion.data.name); new_item.find('a.purchase_name').attr('href', 'index.php?module=ProductAdmin&id='+suggestion.data.id); // Добавляем варианты нового товара var variants_select = new_item.find('select[name*=purchases][name*=variant_id]'); for(var i in suggestion.data.variants) { sku = suggestion.data.variants[i].sku == ''?'':' (арт. '+suggestion.data.variants[i].sku+')'; variants_select.append("<option value='"+suggestion.data.variants[i].id+"' price='"+suggestion.data.variants[i].price+"' amount='"+suggestion.data.variants[i].stock+"'>"+suggestion.data.variants[i].name+sku+"</option>"); } if(suggestion.data.variants.length>1 || suggestion.data.variants[0].name != '') variants_select.show(); variants_select.bind('change', function(){change_variant(variants_select);}); change_variant(variants_select); if(suggestion.data.image) new_item.find('img.product_icon').attr("src", suggestion.data.image); else new_item.find('img.product_icon').remove(); $("input#add_purchase").val('').focus().blur(); new_item.show(); }, formatResult: function(suggestion, currentValue){ var reEscape = new RegExp('(\\' + ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'].join('|\\') + ')', 'g'); var pattern = '(' + currentValue.replace(reEscape, '\\$1') + ')'; return (suggestion.data.image?"<img align=absmiddle src='"+suggestion.data.image+"'> ":'') + suggestion.value.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>'); } });Вот знатоки Java уж точно знают ) Подскажите плииз! Quote Link to post Share on other sites
daramal Posted June 6, 2016 Author Report Share Posted June 6, 2016 Друзья, а как добавить price продукта рядом с названием товара в выпадающим списке при добавление товара?Насколько понимаю это в файле ajax/add_order_product.php Помогите пожалуйста. Quote Link to post Share on other sites
Kors Posted June 6, 2016 Report Share Posted June 6, 2016 Вообще говоря, никак. Потому как у товара цены нет.Если хотите добавить цену, скажем, первого варианта, то используйте что-то типа$product->variants[0]->price Quote Link to post Share on other sites
daramal Posted June 6, 2016 Author Report Share Posted June 6, 2016 а какой именно код отвечает за вывод? тот что в ajax/add_order_product.php или же в order ? Я в java совсем ноль. и куда можно вставить $product->variants[0]->price ? Quote Link to post Share on other sites
mishanya Posted June 6, 2016 Report Share Posted June 6, 2016 (edited) а какой именно код отвечает за вывод? тот что в ajax/add_order_product.php или же в order ?Я в java совсем ноль. и куда можно вставить $product->variants[0]->price ? где вы джаву тут видели? на будущее это php обработчик. а то что вы называете java видимо javascript вам нужно заменить в add_order_product.php заменить $suggestion->value = $product->name; заменить на что-то такое $suggestion->value = $product->name.' - '.$product->variants[0]->price; Edited June 6, 2016 by mishanya Quote Link to post Share on other sites
daramal Posted June 6, 2016 Author Report Share Posted June 6, 2016 (edited) где вы джаву тут видели? вам нужно заменить в add_order_product.php заменить $suggestion->value = $product->name; заменить на что-то такое $suggestion->value = $product->name.' - '.$product->variants[0]->price; mishanya, ты как всегда на Высоте! Спасибо огромное, так показывает цену. Не подскажешь, как сделать автообновление цены или же после добавление товара сразу плюсанулся итог? Уж больно нужна эта штука. Edited June 6, 2016 by DarAmal Quote Link to post Share on other sites
mishanya Posted June 6, 2016 Report Share Posted June 6, 2016 mishanya, ты как всегда на Высоте!Спасибо огромное, так показывает цену. Не подскажешь, как сделать автообновление цены или же после добавление товара сразу плюсанулся итог? Уж больно нужна эта штука. надо делать аяксом как в корзине, но не так просто, либо при каждом добавлении отправлять форму и страницу перегружать. либо через js пересчитывать каждый раз при событии выбора товара. но в последнем случае в конце все ровно надо будет сохранять Quote Link to post Share on other sites
daramal Posted June 6, 2016 Author Report Share Posted June 6, 2016 надо делать аяксом как в корзине, но не так просто, либо при каждом добавлении отправлять форму и страницу перегружать. либо через js пересчитывать каждый раз при событии выбора товара. но в последнем случае в конце все ровно надо будет сохранятьда мне хоть второй вариант, если первый сложнее Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.