Добавляем картинку товара в корзину Virtuemart 1.1.x

Хотелка достаточно распространенная, но почему-то в стандартной поставке магазина такой возможности нет. Исправляем это недоразумение.Итак, нам понадобится:

components\com_virtuemart\themes\default\templates\basket\basket_b2c.html.php (выводит таблицу со списком товаров в корзине, где можно пересчитать количество товаров)

components\com_virtuemart\themes\default\templates\basket\ro_basket_b2c.html.php (выводит таблицу со списком товаров в корзине на этапе заказа товара (ro — read only))

administrator\components\com_virtuemart\html\basket.php (генерирует переменные-заглушки для корзины)

administrator\components\com_virtuemart\html\ro_basket.php (тоже генерирует переменные-заглушки, но для таблицы read-only)

Для того, чтобы картинка появилась, нужно ее вызвать переменной-заглушкой, для этого открываем первые два файла и меняем этот код (у меня это строка 30 в первом файле и 33 во втором):

<?php echo $product['product_name'] . $product['product_attributes'] ?>

ну, например, на этот (добавляем в начале нашу заглушку с картинкой)

<?php echo $product['product_thumb_image'] ?>< ?php echo $product['product_name'] . $product['product_attributes'] ?>

теги < ?php … ?> оставил специально, для наглядности

Так, заглушки готовы, но они пока ничего не выводят, ибо переменные в них пусты. Чтобы получить данные о картинках, открываем basket.php и ro_basket.php и после этого кода:

/* WEIGHT CALCULATION */
$weight_subtotal = ps_shipping_method::get_weight($cart[$i]["product_id"]) * $cart[$i]['quantity'];
$weight_total += $weight_subtotal;


вставляем этот:

//prepare thumb image

if( $ps_product->get_field($_SESSION['cart'][$i]["product_id"], "product_thumb_image") ) {
$product_thumb_image = $ps_product->get_field($_SESSION['cart'][$i]["product_id"], "product_thumb_image");
}
else {
$product_thumb_image = 0;
}

if( $product_thumb_image ) {
if( substr( $product_thumb_image, 0, 4) != "http" ) {
if(PSHOP_IMG_RESIZE_ENABLE == '1') {
$product_thumb_image = $mosConfig_live_site."/components/com_virtuemart/show_image_in_imgtag.php?filename=".urlencode($product_thumb_image)."&newxsize=".PSHOP_IMG_WIDTH."&newysize=".PSHOP_IMG_HEIGHT."&fileout=";
}
else {
if( file_exists( IMAGEPATH."product/".$product_thumb_image )) {
$product_thumb_image = IMAGEURL."product/".$product_thumb_image;
}
else {
$product_thumb_image = IMAGEURL.NO_IMAGE;
}
}
}
}
else {
$product_thumb_image = IMAGEURL.NO_IMAGE;
}

$product_rows[$i]['product_thumb_image'] = "<a href=\"$url\">"
. "<img width=100 src= $product_thumb_image />"
. "</a><br />";
//end of prepare thumb image


На самом деле, не обязательно привязываться к куску /* WEIGHT CALCULATION */

Ну, вот как-то так. Cохраняем и радуемся.

0

Добавляем картинку товара в корзину Virtuemart 1.1.x: 1 комментарий

Добавить комментарий