Aw: joomshopping carousel
1. install
Product Carousel 1.0.4
2. updated in new version Joomshopping (4.18.3)
For update.
components\com_jshopping\tables\product.php
change function getRandProducts
TO
function getRandProducts($count, $array_categories = null, $filters = array(), $realRand = 0){
$jshopConfig = JSFactory::getConfig();
$db = JFactory::getDBO();
$adv_query = ""; $adv_from = ""; $adv_result = $this->getBuildQueryListProductDefaultResult();
$this->getBuildQueryListProductSimpleList("rand", $array_categories, $filters, $adv_query, $adv_from, $adv_result);
$dispatcher = JDispatcher::getInstance();
$dispatcher->trigger('onBeforeQueryGetProductList', array("rand_products", &$adv_result, &$adv_from, &$adv_query, &$order_query, &$filters));
if ($realRand == 0) {
$query = "SELECT count(distinct prod.product_id) FROM `#__jshopping_products` AS prod
INNER JOIN `#__jshopping_products_to_categories` AS pr_cat ON pr_cat.product_id = prod.product_id
LEFT JOIN `#__jshopping_categories` AS cat ON pr_cat.category_id = cat.category_id
$adv_from
WHERE prod.product_publish=1 AND cat.category_publish=1 ".$adv_query;
$db->setQuery($query);
$totalrow = $db->loadResult();
$totalrow = $totalrow - $count;
if ($totalrow < 0) $totalrow = 0;
$limitstart = rand(0, $totalrow);
$order = array();
$order[] = "name asc";
$order[] = "name desc";
$order[] = "prod.product_price asc";
$order[] = "prod.product_price desc";
$orderby = $order[rand(0,3)];
} else {
$limitstart = 0;
$orderby = 'rand()';
}
$query = "SELECT $adv_result FROM `#__jshopping_products` AS prod
INNER JOIN `#__jshopping_products_to_categories` AS pr_cat ON pr_cat.product_id = prod.product_id
LEFT JOIN `#__jshopping_categories` AS cat ON pr_cat.category_id = cat.category_id
$adv_from
WHERE prod.product_publish=1 AND cat.category_publish=1 ".$adv_query."
GROUP BY prod.product_id order by ".$orderby."
LIMIT ".$limitstart.", ".$count;
$db->setQuery($query);
$products = $db->loadObjectList();
$products = listProductUpdateData($products, 1);
return $products;
}