Jump to content

Автоматический расчет итоговой цены в Админке


Recommended Posts

Друзья, приветствую!

 

Такая задачка возникла. В Админке, там где Заказы. Заходим например в какой-нибудь заказ и мы видим, что есть возможность редактировать все параметры заказа в самой админке, включая и добавление товаров к заказу.

 

 

Меня сейчас интересует только один момент. При добавление дополнительного нужного товара из каталога товар добавляется, но перерасчет Итоговой цены не происходит, пока не нажмем кнопку "Сохранить".

 

 

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

 

Спасибо большое за любую информацию!

Link to post
Share on other sites

В обычной корзине перезагрузка при изменении количества задается в строке

<select name="amounts[{$purchase->variant->id}]" onchange="document.cart.submit();">

 

Видимо, надо пробовать аналогично сделать в админке...

Link to post
Share on other sites

в файле 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 уж точно знают ) Подскажите плииз!

Link to post
Share on other sites

Друзья, а как добавить price продукта рядом с названием товара в выпадающим списке при добавление товара?

Насколько понимаю это в файле ajax/add_order_product.php

 

Помогите пожалуйста. :(

Link to post
Share on other sites

Вообще говоря, никак. Потому как у товара цены нет.

Если хотите добавить цену, скажем,  первого варианта, то используйте что-то типа

$product->variants[0]->price

Link to post
Share on other sites

а какой именно код отвечает за вывод? тот что в ajax/add_order_product.php или же в order ?

Я в java совсем ноль.

 

и куда можно вставить $product->variants[0]->price  ?

Link to post
Share on other sites

а какой именно код отвечает за вывод? тот что в 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 by mishanya
Link to post
Share on other sites

 

где вы джаву тут видели? 

 

вам нужно заменить в add_order_product.php заменить

$suggestion->value = $product->name;

заменить на что-то такое

$suggestion->value = $product->name.' - '.$product->variants[0]->price;

mishanya, ты как всегда на Высоте!

Спасибо огромное, так показывает цену.

 

Не подскажешь, как сделать автообновление цены или же после добавление товара сразу плюсанулся итог? 

Уж больно нужна эта штука.

Edited by DarAmal
Link to post
Share on other sites

mishanya, ты как всегда на Высоте!

Спасибо огромное, так показывает цену.

 

Не подскажешь, как сделать автообновление цены или же после добавление товара сразу плюсанулся итог? 

Уж больно нужна эта штука.

 

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

Link to post
Share on other sites

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

да мне хоть второй вариант, если первый сложнее

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...