iSlayter Posted June 21, 2009 Share Posted June 21, 2009 /modules/blockcart/blockcart.phpAfter: $smarty->assign(array( 'products'=> $params['cart']->getProducts(true), 'customizedDatas' => Product::getAllCustomizedDatas(intval($params['cart']->id)), 'CUSTOMIZE_FILE' => _CUSTOMIZE_FILE_, 'CUSTOMIZE_TEXTFIELD' => _CUSTOMIZE_TEXTFIELD_, 'discounts' => $params['cart']->getDiscounts(), 'nb_total_products' =>$params['cart']->nbProducts(), 'shipping_cost' => Tools::displayPrice($params['cart']->getOrderTotal(true, 5), $currency), 'show_wrapping' => floatval($params['cart']->getOrderTotal(true, 6)) > 0 ? true : false, 'wrapping_cost' => Tools::displayPrice($params['cart']->getOrderTotal(true, 6), $currency), 'product_total' => Tools::displayPrice($params['cart']->getOrderTotal(true, 4), $currency), 'total' => Tools::displayPrice($params['cart']->getOrderTotal(), $currency), 'id_carrier' => $params['cart']->id_carrier, 'ajax_allowed' => intval(Configuration::get('PS_BLOCK_CART_AJAX')) == 1 ? true : false )); After it add: $totalProducts = $params['cart']->nbProducts(); if (null == $totalProducts) { $smarty->assign('randomProduct' ,Db::getInstance()->GetRow('SELECT `id_product`, `name` FROM `' . _DB_PREFIX_ . 'product_lang` ORDER BY RAND()')); } /modules/blockcart/blockcart.tpl {if $cart_qties > 0} here goes your template if cart not empty {else} You may be interested in «{$randomProduct.name}». {/if} I think the way I did it is wrong (mixing logic with business logic - we must follow MVC pattern). There must be method getRandom() at classes/Cart.php - but when I id there - how can I call it? global $cart; var_dump($cart); showing not this class Link to comment Share on other sites More sharing options...
Recommended Posts