N_Zinyak 0 Опубликовано 7 октября, 2013 Жалоба Share Опубликовано 7 октября, 2013 как можно вывести вес товара в корзине? ===================================== дальше нужно чтобы он суммировался внизу где выводиться итого Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 7 октября, 2013 Жалоба Share Опубликовано 7 октября, 2013 Без правки кода никак. Вес корзины можно взять из $_SESSION['cart']->show_weight() Что б выводить вес на странице корзины, т.е. в /templates/шаблон/module/order_details.html Нужно для начала в /includes/modules/order_details_cart.php поменять: $module_content[$i] = array ('PRODUCTS_NAME' => $products[$i]['name'].$mark_stock, 'PRODUCTS_QTY' => vam_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="2"').vam_draw_hidden_field('products_id[]', $products[$i]['id']).vam_draw_hidden_field('old_qty[]', $products[$i]['quantity']), 'PRODUCTS_MODEL' => $products[$i]['model'],'PRODUCTS_SHIPPING_TIME'=>$products[$i]['shipping_time'], 'PRODUCTS_TAX' => number_format($products[$i]['tax'], TAX_DECIMAL_PLACES), 'PRODUCTS_IMAGE' => $image, 'IMAGE_ALT' => $products[$i]['name'], 'BOX_DELETE' => vam_draw_checkbox_field('cart_delete[]', $products[$i]['id']), 'PRODUCTS_LINK' => vam_href_link(FILENAME_PRODUCT_INFO, vam_product_link($products[$i]['id'], $products[$i]['name'])), 'PRODUCTS_PRICE' => $vamPrice->Format($products[$i]['price'] * $products[$i]['quantity'], true), 'PRODUCTS_SINGLE_PRICE' =>$vamPrice->Format($products[$i]['price'], true), 'PRODUCTS_SHORT_DESCRIPTION' => vam_get_short_description($products[$i]['id']), 'ATTRIBUTES' => ''); на: $module_content[$i] = array ('PRODUCTS_NAME' => $products[$i]['name'].$mark_stock, 'PRODUCTS_WEIGHT' => $products[$i]['weight'], 'PRODUCTS_QTY' => vam_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="2"').vam_draw_hidden_field('products_id[]', $products[$i]['id']).vam_draw_hidden_field('old_qty[]', $products[$i]['quantity']), 'PRODUCTS_MODEL' => $products[$i]['model'],'PRODUCTS_SHIPPING_TIME'=>$products[$i]['shipping_time'], 'PRODUCTS_TAX' => number_format($products[$i]['tax'], TAX_DECIMAL_PLACES), 'PRODUCTS_IMAGE' => $image, 'IMAGE_ALT' => $products[$i]['name'], 'BOX_DELETE' => vam_draw_checkbox_field('cart_delete[]', $products[$i]['id']), 'PRODUCTS_LINK' => vam_href_link(FILENAME_PRODUCT_INFO, vam_product_link($products[$i]['id'], $products[$i]['name'])), 'PRODUCTS_PRICE' => $vamPrice->Format($products[$i]['price'] * $products[$i]['quantity'], true), 'PRODUCTS_SINGLE_PRICE' =>$vamPrice->Format($products[$i]['price'], true), 'PRODUCTS_SHORT_DESCRIPTION' => vam_get_short_description($products[$i]['id']), 'ATTRIBUTES' => ''); и затем уже в шаблоне order_details.html использовать метку {$module_data.PRODUCTS_WEIGHT} Примерно так. Ссылка на сообщение Поделиться на другие сайты
YuriyVA 1 Опубликовано 11 октября, 2013 Жалоба Share Опубликовано 11 октября, 2013 {$module_data.PRODUCTS_WEIGHT} выводит вес одной позиции товара в order_details.html, а как посчитать общий вес в order_details.html и вывести его там? И вывести эту сумму веса в box_cart.html? $_SESSION['cart']->show_weight() - как преобразовать эту переменную в формат шаблона для вставки в order_details.html и box_cart.html. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 октября, 2013 Жалоба Share Опубликовано 11 октября, 2013 Так я выше вроде писал откуда можно вес достать. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 октября, 2013 Жалоба Share Опубликовано 11 октября, 2013 Что б вывести в шаблоне show_weight нужно метку для бокса назначить и уже в шаблон вставлять метку. Само собой без правок php кода никак. Ссылка на сообщение Поделиться на другие сайты
YuriyVA 1 Опубликовано 11 октября, 2013 Жалоба Share Опубликовано 11 октября, 2013 Цитата Само собой без правок php кода никак. Дык давайте поправим? :) Мне клиенты вопрос задают, как сделать.. А php править я пока не готов.. :) Почти не готов. ;) Общую теорию программирования знаю, знаю пару непопулярных языков программирования (так получилось ;)) но изучать синтаксис php пока нет ни возможности, ни времени. Ссылка на сообщение Поделиться на другие сайты
YuriyVA 1 Опубликовано 11 октября, 2013 Жалоба Share Опубликовано 11 октября, 2013 Или ткните носом где "метку для бокса назначить" ;) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 октября, 2013 Жалоба Share Опубликовано 11 октября, 2013 Добавьте например в /includes/header.php $vamTemplate->assign('TOTAL_WEIGHT', $_SESSION['cart']->show_weight()); например после: $vamTemplate->assign('mainpage',HTTP_SERVER . DIR_WS_CATALOG); В шаблоне /templates/шаблон/boxes/box_cart.html используйте метку {$TOTAL_WEIGHT} P.S. А вообще говоря, знать хотя бы основы html, css, php, mysql очень желательно, иначе Вы вряд ли сможете что-либо исправить в магазине. Ссылка на сообщение Поделиться на другие сайты
YuriyVA 1 Опубликовано 11 октября, 2013 Жалоба Share Опубликовано 11 октября, 2013 На PS: Конечно, хорошо... ;) Вот с этим проблем нет:" знать хотя бы основы html, css" , а вот с этим: "php, mysql" - почти проблемы. :( Но, если знать последнее, то, пожалуй и вопросов не будет.. :rolleyes: А мы на Вас надеемся и уповаем :rolleyes: Спасибо! Попробую разобраться... Ссылка на сообщение Поделиться на другие сайты
YuriyVA 1 Опубликовано 11 октября, 2013 Жалоба Share Опубликовано 11 октября, 2013 В 11.10.2013 в 17:24, support сказал: В шаблоне /templates/шаблон/boxes/box_cart.html используйте метку {$TOTAL_WEIGHT} После добавления в "/includes/header.php" "$vamTemplate->assign('TOTAL_WEIGHT', $_SESSION['cart']->show_weight());" В шаблоне "/templates/vamshop/boxes/box_cart.html " метка {$TOTAL_WEIGHT} отображает "" т.е. "empty" Веса проставлены.. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 октября, 2013 Жалоба Share Опубликовано 12 октября, 2013 А корзина не пустая, вес у товаров, что в корзине, указан?! Ссылка на сообщение Поделиться на другие сайты
YuriyVA 1 Опубликовано 12 октября, 2013 Жалоба Share Опубликовано 12 октября, 2013 Да, конечно, я проверил... На всяк случай попробовал выключить "Ajax корзину" ничего не изменилось. В корзине 2 товара, у обоих указан вес. Попробовал переключиться в "чистый" "vamshop2" - то же самое... Вес товара в карточке через {$module_data.PRODUCTS_WEIGHT} по Вашей рекомендации выше - выводится... Версия Vamshop 1.68 Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 октября, 2013 Жалоба Share Опубликовано 12 октября, 2013 Значит не так что-то делаете. Добавьте тогда в header.php для начала просто echo $_SESSION['cart']->show_weight(); и посмотрите выведется ли вес. Ссылка на сообщение Поделиться на другие сайты
YuriyVA 1 Опубликовано 13 октября, 2013 Жалоба Share Опубликовано 13 октября, 2013 Спасибо! Так вес выводится. В килограммах. Так же вес выводится если вставлять в любой из файлов шаблона - shopping_cart.php.html например. Так же работает, если вставить например в шаблон/module/shopping_cart.html А вот в vamshop/boxes/box_cart.html - веса не дает, куда бы не вставлять метку. (вставлял сразу после <div class="boxcontent"> ) - вот сюда бы хотелось добавить. Так же не работает при вставке , например, в шаблон/module/order_details.html, но это не критично, так как работает в шаблон/module/shopping_cart.html . Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 13 октября, 2013 Жалоба Share Опубликовано 13 октября, 2013 Наверное не туда или не так метку вставляете, чудес ведь не бывает. Ссылка на сообщение Поделиться на другие сайты
YuriyVA 1 Опубликовано 13 октября, 2013 Жалоба Share Опубликовано 13 октября, 2013 Чудес не бывает.. :rolleyes: Вот здесь, в "modules\shopping_cart.html" работает: <div class="page"><div class="pagecontent"> {$MODULE_order_details}<b>Вес товаров в корзине: {$TOTAL_WEIGHT} кг.</b> </div> </div> а вот здесь - в "boxes\box_cart.html" - не работает (выводит "Вес товаров в корзине: кг.") {config_load file="$language/lang_$language.conf" section="boxes"}{config_load file="$language/lang_$language.conf" section="index"}{if $deny_cart neq 'true'}<!-- Бокс корзина --><div id="divShoppingCart"><div id="boxCart"><div class="boxheader"><p> » <a href="{$LINK_CART}">{#heading_cart#}</a></p></div><div class="boxcontent"><b>Вес товаров в корзине: {$TOTAL_WEIGHT} кг.</b>{if $empty=='false'}{foreach name=aussen item=products_data from=$products} Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 13 октября, 2013 Жалоба Share Опубликовано 13 октября, 2013 Так наверное в /templates/шаблон/source/boxes/shopping_cart.php не добавили метку именно для бокса, поэтому и не работает. Ссылка на сообщение Поделиться на другие сайты
YuriyVA 1 Опубликовано 13 октября, 2013 Жалоба Share Опубликовано 13 октября, 2013 Точно.. Не добавил... :) Но... после добавления в /templates/шаблон/source/boxes/shopping_cart.php все равно не работает... И даже пробовал сменить $vamTemplate-> на $box-> ... Все равно "Вес товаров в корзине: кг." $box->caching = 0;$box->assign('language', $_SESSION['language']);$box_shopping_cart = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_cart.html');$vamTemplate->assign('box_CART', $box_shopping_cart);$vamTemplate->assign('TOTAL_WEIGHT', $_SESSION['cart']->show_weight());?> Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 13 октября, 2013 Жалоба Share Опубликовано 13 октября, 2013 Смотрите как определена метка LINK_CART к примеру. и делайте по аналогии, сраз после LINK_CART свою строку добавляйте. Ссылка на сообщение Поделиться на другие сайты
YuriyVA 1 Опубликовано 13 октября, 2013 Жалоба Share Опубликовано 13 октября, 2013 Долго искал аналогию и не находил... :) Оказалось все очень просто... Кстати, я это уже делал, только вставлял строчку в конец, а не после LINK_CART. Спасибо! Вот так все заработало: // GV Code End$box->assign('LINK_CART', vam_href_link(FILENAME_SHOPPING_CART, '', 'SSL'));$box->assign('TOTAL_WEIGHT',$_SESSION['cart']->show_weight());$box->assign('LINK_CHECKOUT', vam_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));$box->assign('products', $products_in_cart); $box->caching = 0;$box->assign('language', $_SESSION['language']);$box_shopping_cart = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_cart.html');$vamTemplate->assign('box_CART', $box_shopping_cart);?> Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 октября, 2013 Жалоба Share Опубликовано 14 октября, 2013 Хорошо, что разобрались. Ссылка на сообщение Поделиться на другие сайты
N_Zinyak 0 Опубликовано 14 октября, 2013 Автор Жалоба Share Опубликовано 14 октября, 2013 в следующий раз вставляйте прямо в нужное место шаблона {php}$_SESSION['cart']->show_weight();{/php} и не парьтесь с поисками остальных файлов. не совсем правильно по логике. может быть .зато экономия времени приличная. Ссылка на сообщение Поделиться на другие сайты
YuriyVA 1 Опубликовано 15 октября, 2013 Жалоба Share Опубликовано 15 октября, 2013 Спасибо Вам огромное! Ссылка на сообщение Поделиться на другие сайты
YuriyVA 1 Опубликовано 16 октября, 2013 Жалоба Share Опубликовано 16 октября, 2013 В 14.10.2013 в 18:42, N_Zinyak сказал: в следующий раз вставляйте прямо в нужное место шаблона {php}$_SESSION['cart']->show_weight();{/php} В боксе не работает... :( Ссылка на сообщение Поделиться на другие сайты
YuriyVA 1 Опубликовано 16 октября, 2013 Жалоба Share Опубликовано 16 октября, 2013 Скажите, пожалуйста, каким образом у значения метки {$module_data.PRODUCTS_WEIGHT} в шаблоне обрезать нули справа? А то получается - вес товара 1.200 кг или 0.030 кг ... Т.е. если вес в килограммах, то что выше килограмма смотрится как в примере "тысяча двести килограмм", :) учитывая что точка - разделитель тысяч. Если поставить вес в граммах, то получается вес во втором примере "30 тысячных грамма"... Нужно бы убрать нули справа, тогда получится все ок: 1.2 кг. и 0.03 кг. ЗЫ. Всякие мои дикие конструкции типа: {php}echo floatval('{$module_data.PRODUCTS_WEIGHT}');{/php} приводят либо к ошибкам, либо к "0" :D Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения