core\tpl\user\default\shopping_cart.tpl.html
После:
{$smarty.const.TABLE_PRODUCT_QUANTITY}
Вставляем:
{$smarty.const.ADMIN_PRODUCT_WEIGHT}
Перед:
{$cart_content[i].cost}
Вставляем:
{$cart_content[i].weight}
А также для вывода общего веса перед:
{$smarty.const.TABLE_TOTAL}
Вставляем:
Общий вес:
{$total_weight}
Открываем файл:
core\includes\shopping_cart.php
Перед:$smarty->assign("cart_content", $resCart["cart_content"] );
Вставляем:
//пересчет веса
$total_weight = 0;
foreach($resCart["cart_content"] as $key => $pr_in_cart)
{
$resCart["cart_content"][$key]["weight"] = (int)$pr_in_cart["quantity"] * $pr_in_cart["weight"];
// общий вес
$total_weight += $resCart["cart_content"][$key]["weight"];
}
$smarty->assign("total_weight", $total_weight );
Открываем файл:
core\functions\cart_functions.php
Меняем функцию:cartGetCartContent
На эту:function cartGetCartContent()
{
$cart_content = array();
$total_price = 0;
$freight_cost = 0;
if (isset($_SESSION["log"])) //get cart content from the database
{
$q = db_query("select itemID, Quantity FROM ".SHOPPING_CARTS_TABLE.
" WHERE customerID=".(int)regGetIdByLogin($_SESSION["log"]));
while ($cart_item = db_fetch_row($q))
{
// get variants
$variants=GetConfigurationByItemId( $cart_item["itemID"] );
// shopping cart item
$q_shopping_cart_item = db_query("select productID from ".
SHOPPING_CART_ITEMS_TABLE." where ".
" itemID=".(int)$cart_item["itemID"]);
$shopping_cart_item = db_fetch_row( $q_shopping_cart_item );
//////////////////////////
$q_products = db_query("select name, Price, productID, min_order_amount, shipping_freight, free_shipping, product_code, weight FROM ".
PRODUCTS_TABLE." WHERE productID=".(int)$shopping_cart_item["productID"]);
//////////////////////////////
if ( $product = db_fetch_row($q_products) )
{
$costUC = GetPriceProductWithOption( $variants,
$shopping_cart_item["productID"] );
$tmp =
array(
"productID" => $product["productID"],
"id" => $cart_item["itemID"],
"name" => $product["name"],
"quantity" => $cart_item["Quantity"],
"free_shipping" => $product["free_shipping"],
"costUC" => $costUC,
"cost" => show_price($cart_item["Quantity"]*
GetPriceProductWithOption($variants,
$shopping_cart_item["productID"])),
"product_code" => $product["product_code"],
//////////////////////////
"weight" => $product["weight"]);
$freight_cost += $cart_item["Quantity"]*$product["shipping_freight"];
$strOptions=GetStrOptions(
GetConfigurationByItemId( $tmp["id"] ));
if ( trim($strOptions) != "" )
$tmp["name"].=" (".$strOptions.")";
if ( $product["min_order_amount"] > $cart_item["Quantity"] )
$tmp["min_order_amount"] = $product["min_order_amount"];
$cart_content[] = $tmp;
$total_price += $cart_item["Quantity"]*
GetPriceProductWithOption($variants,
$shopping_cart_item["productID"]);
}
}
}
else //unauthorized user - get cart from session var
{
$total_price = 0; //total cart value
$cart_content = array();
//shopping cart items count
if ( isset($_SESSION["gids"]) )
for ($j=0; $j{
if ($_SESSION["gids"][$j])
{
$session_items[]=
CodeItemInClient($_SESSION["configurations"][$j],
$_SESSION["gids"][$j])
////////////////
$q = db_query("select name, Price, shipping_freight, free_shipping, product_code, weight FROM ".
PRODUCTS_TABLE." WHERE productID=".(int)$_SESSION["gids"][$j]);
//////////////////////////
if ($r = db_fetch_row($q))
{
$costUC = GetPriceProductWithOption(
$_SESSION["configurations"][$j],
$_SESSION["gids"][$j])/* * $_SESSION["counts"][$j]*/;
$id = $_SESSION["gids"][$j];
if (count($_SESSION["configurations"][$j]) > 0)
{
for ($tmp1=0;$tmp1}
$tmp = array(
"productID" => $_SESSION["gids"][$j],
"id" => $id, //$_SESSION["gids"][$j],
"name" => $r[0],
"quantity" => $_SESSION["counts"][$j],
"free_shipping" => $r["free_shipping"],
"costUC" => $costUC,
"cost" => show_price($costUC * $_SESSION["counts"][$j]),
"product_code" => $r["product_code"],
"weight" => $product["weight"]);
$strOptions=GetStrOptions( $_SESSION["configurations"][$j] );
if ( trim($strOptions) != "" )
$tmp["name"].=" (".$strOptions.")";
$q_product = db_query( "select min_order_amount, shipping_freight from ".PRODUCTS_TABLE.
" where productID=".
(int)$_SESSION["gids"][$j] );
$product = db_fetch_row( $q_product );
if ( $product["min_order_amount"] > $_SESSION["counts"][$j] )
$tmp["min_order_amount"] = $product["min_order_amount"];
$freight_cost += $_SESSION["counts"][$j]*$product["shipping_freight"];
$cart_content[] = $tmp;
$total_price += GetPriceProductWithOption(
$_SESSION["configurations"][$j],
$_SESSION["gids"][$j] )*$_SESSION["counts"][$j];
}
}
}
}
return array(
"cart_content" => $cart_content,
"total_price" => $total_price,
"freight_cost" => $freight_cost );
}
ГОТОВО!!!
#2
Отправлено 30 May 2011 - 08:48 PM
У Вас работает это?
#3
Отправлено 27 September 2011 - 10:39 AM
Ругается
Parse error: syntax error, unexpected T_VARIABLE in /home/braun-mall/data/www/braun-mall.ru/core/functions/cart_functions.php on line 356
#4
Отправлено 02 December 2011 - 09:32 PM
Не работает, есть рабочий вариант, поделитесь!
#5
Отправлено 06 December 2011 - 01:12 PM
У меня тоже не работает(
#6
Отправлено 12 January 2013 - 06:48 AM
Здравствуйте. Скажите, а предложенный код из первого поста, рабочий или нет?
А то необходимо чтоб вес товаров показывался на главной в карзине и не только на главной. и чтоб также суммировался как и количество товаров.
Социально-информационный проект Nvda.ru о бесплатной программе экранного доступа Nvda для незрячих и слабовидящих.
С уважением ко всем Valentin-Kupriyanov.ru
#7
Отправлено 14 January 2013 - 08:51 AM
Подскажите, где заканчивается функция cartGetCartContent
В файле core\functions\cart_functions.php.
В инструкции сказано:
Открываем файл:
core\functions\cart_functions.php
Меняем функцию:
cartGetCartContent
На эту:
И дальше идёт большой блок самой функции.
Я так понял что в указанном файле необходимо заменить аналогичный блок который начинается с
cartGetCartContent
Но вот где эта функция заканчивается не могу понять, какой строкой?
(функция полностью в первом посте)
Социально-информационный проект Nvda.ru о бесплатной программе экранного доступа Nvda для незрячих и слабовидящих.
С уважением ко всем Valentin-Kupriyanov.ru
#8
Отправлено 14 January 2013 - 12:38 PM
Тело функции заключено в фигурные скобки.Подскажите, где заканчивается функция cartGetCartContent
Но можно куда проще - она заканчивается там, где начинается следующая функция (function .....).
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)
#9
Отправлено 16 January 2013 - 11:35 AM
Мои испытание не увенчались успехом,
проделал все правки по инструкции, заменил функцию cartGetCartContent
от строки 276
и по 408
до function cartCheckMinOrderAmount()
В итоге получил пустой экран.
Попутно выяснил, что ошибка в самой функции, а возможно и в некоректной замене, так как вернув на место оригинал cart_functions.php
страница отобразилась нормально.
Хотя возможно и ошибаюсь.
Но где-то есть несовместимость это наверняка.
Также пробывал и отсюда:
http://vsupport.club...вара-в-корзину/
Социально-информационный проект Nvda.ru о бесплатной программе экранного доступа Nvda для незрячих и слабовидящих.
С уважением ко всем Valentin-Kupriyanov.ru