Есть задача формировки Инвойса. Когда человек из корзины может сформировать счет по клику. Решил делать этим способом http://snipp.ru/view/132 . Библиотека dompdf. И нужно как то с корзины достать значения и передать их массивом, что бы образовался следующий массив.
$prods = array(
array(
'name' => 'Плита CERAMAGUARD FINE FISSURED (100 RH) 600*600*15',
'count' => 25.3,
'unit' => 'м2',
'price' => 1210,
'nds' => 18,
),
array(
'name' => 'Европодвес (0.5м)',
'count' => 100,
'unit' => 'шт.',
'price' => 5.50,
'nds' => 0,
),
array(
'name' => 'Профиль 20*20',
'count' => 10,
'unit' => 'м',
'price' => 550,
'nds' => 10,
),
);
Чем больше добавляется товаров в корзину тем больше создается массивов внутри массива $prods = array.
JS корзина
var cart = store('cart');
var color = $item.find('.prices').attr('active-color');
var type = $item.find('.prices').attr('active-type');
var $color = $item.find('.prices .color-'+color);
var price = $color.attr(type)*1;
$item.find('.price-num').html(price);
if ($item.attr('area') == 3) {
$item.find('.current-choice').html('Колормикс');
}else{
$item.find('.current-choice').html($color.attr('color_title')+', '+types_translate[type]);
}
cart[$item.find('.id').html()] = {
count: $item.find('.count').val()*1,
item: $item[0].outerHTML
};
store('cart',cart);
cartInit();
cartAdded($item);
}
function cartRemove (id){
var cart = store('cart');
delete cart[id];
store('cart',cart);
cartInit();
cartShow();
}
function cartPlus (id){
var cart = store('cart');
cart[id].count++;
store('cart',cart);
cartInit();
cartShow();
}
function cartChange (id,value){
var cart = store('cart');
cart[id].count = value*1;
store('cart',cart);
cartInit();
cartShow();
}
function cartMinus(id){
var cart = store('cart');
if (cart[id].count > 1) {
cart[id].count--;
}else{
delete cart[id];
}
store('cart',cart);
cartShow();
cartInit();
}
function cartSend (){
var cart = store('cart');
if ($.isEmptyObject(cart)) {return false;}
var title = 'оформить';
if ($(".cart-window [name=phone]").val().length > 6) {
var order = {user: {},cart:[]};
var types_translate =
{'full_gray':'полный прокрас, серый цемент',
'partial_gray':'частичный прокрас, серый цемент',
'full_white':'полный прокрас, белый цемент',
'partial_white':'частичный прокрас, белый цемент'
};
for (var item in cart){
var $title = $($(cart[item].item).find('h3')[0].outerHTML);
$title.find('.current-choice').remove();
order.cart.push({
item: item,
title: $title.html(),
text: $(cart[item].item).find('.current-choice').html(),
price: $(cart[item].item).find('.price-num').html(),
count: cart[item].count
});
}
$('.cart-window form').find('input,textarea').each(function(n, el) {
order.user[$(el).attr('name')] = $(el).val();
});
store('user',order.user);
$(".send-order").removeClass('send-error').addClass('send-sending').html('отправляем...');
goal('send_btn');
$.post("/ajax/order/", order, function(json) {
$(".send-order").removeClass('send-sending').removeClass('send-error').html('отправлено');
$(".address-tab").fadeOut(300,function(){$(".result-tab").fadeIn(300);});
setTimeout(function(){$.fancybox.close( true )},10000);
cart = {};
store('cart', cart);
cartShow();
cartInit();
}, "json");
}else{
$(".send-order").removeClass('send-sending').addClass('send-error').html('укажите телефон');
setTimeout(function(){
$(".send-order").removeClass('send-sending').removeClass('send-error').html(title);
}, 3000);
}
};
Собственно, в корзине будет ссылка на php файл, в котором есть сверстанный счет, и нужно что бы приходил туда массив такого вида как указанно выше.
Спасибо большое за помощь!
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
подскажите как найти в дереве начиная с parent_id=2 все дочерние строки, у которых parent_id нет одинаковых?
Задача - переназначить ключи в массиве и отсортировать массив по вновь назначенным ключамЯ новичок в php поэтому для переназначения выбрал,...
Есть indexphp расположенный по такому пути: /home/user/web/example
Пробую использовать этот компонент в своём проекте