- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
$manufacturer_id = JRequest::getInt('manufacturer_id');
$label_id = JRequest::getInt('label_id');
$vendor_id = JRequest::getInt('vendor_id');
$view_name = "cart";
$view_config = array("template_path"=>JPATH_COMPONENT."/templates/".$jshopConfig->template."/".$view_name);
$view = $this->getView($view_name, getDocumentType(), '', $view_config);
if ($category->category_template=="") $category->category_template="default";
$view->setLayout("category_".$category->category_template);
$jshopConfig->count_products_to_page = $category->products_page;
$context = "jshoping.list.front.product";
$contextfilter = "jshoping.list.front.product.cat.".$category_id;
$orderby = $mainframe->getUserStateFromRequest( $context.'orderby', 'orderby', $jshopConfig->product_sorting_direction, 'int');
$order = $mainframe->getUserStateFromRequest( $context.'order', 'order', $jshopConfig->product_sorting, 'int');
$limit = $mainframe->getUserStateFromRequest( $context.'limit', 'limit', $category->products_page, 'int');
if (!$limit) $limit = $category->products_page;
$limitstart = JRequest::getInt('limitstart');
$orderbyq = getQuerySortDirection($order, $orderby);
$image_sort_dir = getImgSortDirection($order, $orderby);
$field_order = $jshopConfig->sorting_products_field_select[$order];
$filters = getBuildFilterListProduct($contextfilter, array("categorys"));
$orderfield = $jshopConfig->category_sorting==1 ? "ordering" : "name";
$sub_categories = $category->getChildCategories($orderfield, 'asc', $publish = 1);
$dispatcher->trigger( 'onBeforeDisplayCategory', array(&$category, &$sub_categories) );
if ($category->meta_title=="") $category->meta_title = $category->name;
setMetaData($category->meta_title, $category->meta_keyword, $category->meta_description);
$total = $category->getCountProducts($filters);
$action = xhtmlUrl($_SERVER['REQUEST_URI']);
$dispatcher->trigger('onBeforeFixLimitstartDisplayProductList', array(&$limitstart, &$total, 'category'));
if ($limitstart>=$total) $limitstart = 0;
$products = $category->getProducts($filters, $field_order, $orderbyq, $limitstart, $limit);
addLinkToProducts($products, $category_id);
jimport('joomla.html.pagination');
$pagination = new JPagination($total, $limitstart, $limit);
$pagenav = $pagination->getPagesLinks();
foreach($jshopConfig->sorting_products_name_select as $key=>$value){
$sorts[] = JHTML::_('select.option', $key, $value, 'sort_id', 'sort_value' );
}
insertValueInArray($category->products_page, $jshopConfig->count_product_select); //insert category count
foreach ($jshopConfig->count_product_select as $key => $value){
$product_count[] = JHTML::_('select.option',$key, $value, 'count_id', 'count_value' );
}
$sorting_sel = JHTML::_('select.genericlist', $sorts, 'order', 'class = "inputbox" size = "1" onchange = "submitListProductFilters()"','sort_id', 'sort_value', $order );
$product_count_sel = JHTML::_('select.genericlist', $product_count, 'limit', 'class = "inputbox" size = "1" onchange = "submitListProductFilters()"','count_id', 'count_value', $limit );
$_review = JTable::getInstance('review', 'jshop');
$allow_review = $_review->getAllowReview();
if (!$category->category_ordertype) $category->category_ordertype = 1;
$manufacuturers_sel = '';
if ($jshopConfig->show_product_list_filters){
$filter_manufactures = $category->getManufacturers();
$first_manufacturer = array();
$first_manufacturer[] = JHTML::_('select.option', 0, _JSHOP_ALL, 'id', 'name');
if (isset($filters['manufacturers'][0])){
$active_manufacturer = $filters['manufacturers'][0];
}else{
$active_manufacturer = 0;
}
$manufacuturers_sel = JHTML::_('select.genericlist', array_merge($first_manufacturer, $filter_manufactures), 'manufacturers[]', 'class = "inputbox" onchange = "submitListProductFilters()"','id', 'name', $active_manufacturer);
}
$display_list_products = (count($products)>0 || willBeUseFilter($filters));
$dispatcher->trigger('onBeforeDisplayProductList', array(&$products));
$view->assign('config', $jshopConfig);
$view->assign('template_block_list_product', "cart/list_products.php");
$view->assign('template_block_form_filter', "cart/form_filters.php");
$view->assign('template_block_pagination', "cart/block_pagination.php");
$view->assign('path_image_sorting_dir', $jshopConfig->live_path.'images/'.$image_sort_dir);
$view->assign('filter_show_category', 0);
$view->assign('display_pagination', $pagenav!="");
$view->assign('rows', $products);
$view->assign('count_product_to_row', $category->products_row);
$view->assign('filters', $filters);
$view->assign('display_list_products', $display_list_products);
$view->assign('shippinginfo', SEFLink($jshopConfig->shippinginfourl,1));
$view->display();
Все это (пришлось еще отрезать строк 30) нужно таскать за собой для вывода списка товаров в нестандартном месте. При этом оно лежит в контроллере.
Полный код: http://pastebin.com/jTj83ZpE
(joomshopping)