本文整理汇总了PHP中ShopFunctionsF::getLastVisitedCategoryId方法的典型用法代码示例。如果您正苦于以下问题:PHP ShopFunctionsF::getLastVisitedCategoryId方法的具体用法?PHP ShopFunctionsF::getLastVisitedCategoryId怎么用?PHP ShopFunctionsF::getLastVisitedCategoryId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ShopFunctionsF
的用法示例。
在下文中一共展示了ShopFunctionsF::getLastVisitedCategoryId方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: display
public function display($tpl = null)
{
$show_prices = VmConfig::get('show_prices', 1);
if ($show_prices == '1') {
if (!class_exists('calculationHelper')) {
require VMPATH_ADMIN . DS . 'helpers' . DS . 'calculationh.php';
}
}
$this->assignRef('show_prices', $show_prices);
if (!class_exists('shopFunctionsF')) {
require VMPATH_SITE . DS . 'helpers' . DS . 'shopfunctionsf.php';
}
$document = JFactory::getDocument();
$app = JFactory::getApplication();
$pathway = $app->getPathway();
if (!class_exists('VmImage')) {
require VMPATH_ADMIN . DS . 'helpers' . DS . 'image.php';
}
// set search and keyword
if ($keyword = vRequest::getString('keyword', false)) {
//uword('keyword', false, ' ,-,+,.,_')) {
$pathway->addItem($keyword);
//$title .=' ('.$keyword.')';
}
//$search = vRequest::uword('keyword', null);
$this->searchcustom = '';
$this->searchCustomValues = '';
//if (!empty($keyword)) {
$this->getSearchCustom();
$search = $keyword;
/*} else {
$keyword ='';
$search = NULL;
}*/
$this->assignRef('keyword', $keyword);
$this->assignRef('search', $search);
$menus = $app->getMenu();
$menu = $menus->getActive();
if (!empty($menu->id)) {
ShopFunctionsF::setLastVisitedItemId($menu->id);
} else {
if ($itemId = vRequest::getInt('Itemid', false)) {
ShopFunctionsF::setLastVisitedItemId($itemId);
}
}
$virtuemart_manufacturer_id = vRequest::getInt('virtuemart_manufacturer_id', -1);
if ($virtuemart_manufacturer_id === -1 and !empty($menu->query['virtuemart_manufacturer_id'])) {
$virtuemart_manufacturer_id = $menu->query['virtuemart_manufacturer_id'];
vRequest::setVar('virtuemart_manufacturer_id', $virtuemart_manufacturer_id);
}
$this->categoryId = vRequest::getInt('virtuemart_category_id', -1);
if ($this->categoryId === -1 and !empty($menu->query['virtuemart_category_id'])) {
$this->categoryId = $menu->query['virtuemart_category_id'];
vRequest::setVar('virtuemart_category_id', $this->categoryId);
} else {
if ($this->categoryId === -1 and $virtuemart_manufacturer_id === -1) {
$this->categoryId = ShopFunctionsF::getLastVisitedCategoryId();
}
}
$this->setCanonicalLink($tpl, $document, $this->categoryId, $virtuemart_manufacturer_id);
if (($this->categoryId === -1 or $this->categoryId === 0) and $virtuemart_manufacturer_id) {
$this->categoryId = 0;
$catType = 'manufacturer';
$this->setCanonicalLink($tpl, $document, $virtuemart_manufacturer_id, $catType);
}
$categoryModel = VmModel::getModel('category');
$productModel = VmModel::getModel('product');
if ($this->categoryId === -1) {
$this->categoryId = 0;
}
$vendorId = 1;
$category = $categoryModel->getCategory($this->categoryId);
if (!isset($menu->query['showproducts'])) {
$menu->query['showproducts'] = 1;
}
$this->showproducts = vRequest::getInt('showproducts', $menu->query['showproducts']);
if (!empty($category)) {
$vendorId = $category->virtuemart_vendor_id;
if ($this->showproducts) {
//if(empty($category->category_layout) or $category->category_layout != 'categories') {
// Load the products in the given category
$ids = $productModel->sortSearchListQuery(TRUE, $this->categoryId);
$this->perRow = empty($category->products_per_row) ? VmConfig::get('products_per_row', 3) : $category->products_per_row;
$this->vmPagination = $productModel->getPagination($this->perRow);
$ratingModel = VmModel::getModel('ratings');
$this->showRating = $ratingModel->showRating();
$productModel->withRating = $this->showRating;
$this->orderByList = $productModel->getOrderByList($this->categoryId);
$this->products = $productModel->getProducts($ids);
//$products = $productModel->getProductsInCategory($this->categoryId);
$imgAmount = VmConfig::get('prodimg_browse', 1);
$productModel->addImages($this->products, $imgAmount);
if ($this->products) {
$currency = CurrencyDisplay::getInstance();
$this->assignRef('currency', $currency);
$display_stock = VmConfig::get('display_stock', 1);
$showCustoms = VmConfig::get('show_pcustoms', 1);
if ($display_stock or $showCustoms) {
if (!$showCustoms) {
foreach ($this->products as $i => $productItem) {
//.........这里部分代码省略.........
示例2: setPaginationLimits
/**
* Override
*
* @see VmModel::setPaginationLimits()
*/
public function setPaginationLimits()
{
$app = JFactory::getApplication();
$view = JRequest::getWord('view', 'virtuemart');
$cateid = JRequest::getInt('virtuemart_category_id', -1);
$manid = JRequest::getInt('virtuemart_manufacturer_id', 0);
$limitString = 'com_virtuemart.' . $view . 'c' . $cateid . '.limit';
$limit = (int) $app->getUserStateFromRequest($limitString, 'limit');
$limitStartString = 'com_virtuemart.' . $view . '.limitstart';
if ($app->isSite() and ($cateid != -1 or $manid != 0)) {
$lastCatId = ShopFunctionsF::getLastVisitedCategoryId();
$lastManId = ShopFunctionsF::getLastVisitedManuId();
//vmdebug('setPaginationLimits is site and $cateid,$manid ',$cateid,$lastCatId,$manid);
if (!empty($cateid) and $cateid != -1) {
$gCatId = $cateid;
} else {
if (!empty($lastCatId)) {
$gCatId = $lastCatId;
}
}
if (!empty($gCatId)) {
$catModel = VmModel::getModel('category');
$category = $catModel->getCategory($gCatId);
} else {
$category = new stdClass();
}
if (!empty($lastCatId) and $lastCatId != $cateid or !empty($manid) and $lastManId != $manid) {
//We are in a new category or another manufacturer, so we start at page 1
$limitStart = JRequest::getInt('limitstart', 0);
} else {
//We were already in the category/manufacturer, so we take the value stored in the session
$limitStartString = 'com_virtuemart.' . $view . 'c' . $cateid . 'm' . $manid . '.limitstart';
$limitStart = $app->getUserStateFromRequest($limitStartString, 'limitstart', JRequest::getInt('limitstart', 0), 'int');
}
if (empty($limit) and !empty($category->limit_list_initial)) {
$suglimit = $category->limit_list_initial;
} else {
if (!empty($limit)) {
$suglimit = $limit;
} else {
$suglimit = VmConfig::get('llimit_init_FE', 20);
}
}
if (empty($category->products_per_row)) {
$category->products_per_row = VmConfig::get('products_per_row', 3);
}
$rest = $suglimit % $category->products_per_row;
$limit = $suglimit - $rest;
if (!empty($category->limit_list_step)) {
$prod_per_page = explode(",", $category->limit_list_step);
} else {
//fix by hjet
$prod_per_page = explode(",", VmConfig::get('pagseq_' . $category->products_per_row));
}
if ($limit <= $prod_per_page['0'] && array_key_exists('0', $prod_per_page)) {
$limit = $prod_per_page['0'];
}
//vmdebug('Calculated $limit ',$limit,$suglimit);
} else {
$limitStart = $app->getUserStateFromRequest('com_virtuemart.' . $view . '.limitstart', 'limitstart', JRequest::getInt('limitstart', 0), 'int');
}
if (empty($limit)) {
if ($app->isSite()) {
$limit = VmConfig::get('llimit_init_FE');
} else {
$limit = VmConfig::get('llimit_init_BE');
}
if (empty($limit)) {
$limit = 30;
}
}
$this->setState('limit', $limit);
$this->setState($limitString, $limit);
$this->_limit = $limit;
//There is a strange error in the frontend giving back 9 instead of 10, or 24 instead of 25
//This functions assures that the steps of limitstart fit with the limit
$limitStart = ceil((double) $limitStart / (double) $limit) * $limit;
$this->setState('limitstart', $limitStart);
$this->setState($limitStartString, $limitStart);
$this->_limitStart = $limitStart;
return array($this->_limitStart, $this->_limit);
}
示例3: getProductSingle
public function getProductSingle($virtuemart_product_id = NULL, $front = TRUE, $quantity = 1, $withParent = false, $virtuemart_shoppergroup_ids = 0)
{
if (!empty($virtuemart_product_id)) {
$virtuemart_product_id = $this->setId($virtuemart_product_id);
}
if ($virtuemart_shoppergroup_ids === 0) {
$usermodel = VmModel::getModel('user');
$currentVMuser = $usermodel->getCurrentUser();
if (!is_array($currentVMuser->shopper_groups)) {
$virtuemart_shoppergroup_ids = (array) $currentVMuser->shopper_groups;
} else {
$virtuemart_shoppergroup_ids = $currentVMuser->shopper_groups;
}
}
$virtuemart_shoppergroup_idsString = 0;
if (!empty($virtuemart_shoppergroup_ids) and is_array($virtuemart_shoppergroup_ids)) {
$virtuemart_shoppergroup_idsString = implode('.', $virtuemart_shoppergroup_ids);
} else {
if (!empty($virtuemart_shoppergroup_ids)) {
$virtuemart_shoppergroup_idsString = $virtuemart_shoppergroup_ids;
}
}
$front = $front ? TRUE : 0;
$productKey = $virtuemart_product_id . ':' . $virtuemart_shoppergroup_idsString . ':' . $quantity . ':' . $front;
if (array_key_exists($productKey, self::$_productsSingle)) {
return clone self::$_productsSingle[$productKey];
}
if (!empty($this->_id)) {
$product = $this->getTable('products');
$product->load($this->_id, 0, 0);
$product->allIds = array();
$xrefTable = $this->getTable('product_medias');
$product->virtuemart_media_id = $xrefTable->load((int) $this->_id);
// Load the shoppers the product is available to for Custom Shopper Visibility
$product->shoppergroups = $this->getTable('product_shoppergroups')->load($this->_id);
if (!empty($product->shoppergroups) and $front) {
if (!class_exists('VirtueMartModelUser')) {
require VMPATH_ADMIN . DS . 'models' . DS . 'user.php';
}
$commonShpgrps = array_intersect($virtuemart_shoppergroup_ids, $product->shoppergroups);
if (empty($commonShpgrps)) {
return $this->fillVoidProduct($front);
}
}
$this->getRawProductPrices($product, $quantity, $virtuemart_shoppergroup_ids, $front, $withParent);
$xrefTable = $this->getTable('product_manufacturers');
$product->virtuemart_manufacturer_id = $xrefTable->load((int) $this->_id);
if (!empty($product->virtuemart_manufacturer_id[0])) {
//This is a fallback
$mfTable = $this->getTable('manufacturers');
$mfTable->load((int) $product->virtuemart_manufacturer_id[0]);
$product = (object) array_merge((array) $mfTable, (array) $product);
} else {
$product->virtuemart_manufacturer_id = array();
$product->mf_name = '';
$product->mf_desc = '';
$product->mf_url = '';
}
// Load the categories the product is in
$product->categoryItem = $this->getProductCategories($this->_id);
//We need also the unpublished categories, else the calculation rules do not work
$product->canonCatId = false;
$public_cats = array();
if (!empty($product->categoryItem)) {
$tmp = array();
foreach ($product->categoryItem as $category) {
if ($category['published']) {
if (!$product->canonCatId) {
$product->canonCatId = $category['virtuemart_category_id'];
}
$public_cats[] = $category['virtuemart_category_id'];
}
$tmp[] = $category['virtuemart_category_id'];
}
$product->categories = $tmp;
}
if (!empty($product->categories) and is_array($product->categories)) {
if ($front) {
if (!class_exists('shopFunctionsF')) {
require VMPATH_SITE . DS . 'helpers' . DS . 'shopfunctionsf.php';
}
//We must first check if we come from another category, due the canoncial link we would have always the same catgory id for a product
//But then we would have wrong neighbored products / category and product layouts
if (!isset($this->categoryId)) {
static $menu = null;
if (!isset($menu)) {
$app = JFactory::getApplication();
$menus = $app->getMenu();
$menu = $menus->getActive();
}
$this->categoryId = vRequest::getInt('virtuemart_category_id', -1);
if ($this->categoryId === -1 and !empty($menu->query['virtuemart_category_id'])) {
$this->categoryId = $menu->query['virtuemart_category_id'];
//vRequest::setVar('virtuemart_category_id',$this->categoryId);
} else {
if ($this->categoryId === -1) {
$this->categoryId = ShopFunctionsF::getLastVisitedCategoryId();
}
}
//$last_category_id = shopFunctionsF::getLastVisitedCategoryId ();
//.........这里部分代码省略.........
示例4: display
public function display($tpl = null)
{
$show_prices = VmConfig::get('show_prices', 1);
if ($show_prices == '1') {
if (!class_exists('calculationHelper')) {
require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'calculationh.php';
}
}
$this->assignRef('show_prices', $show_prices);
// add javascript for price and cart, need even for quantity buttons, so we need it almost anywhere
vmJsApi::jPrice();
$document = JFactory::getDocument();
$app = JFactory::getApplication();
$pathway = $app->getPathway();
if (!class_exists('VmImage')) {
require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'image.php';
}
$categoryModel = VmModel::getModel('category');
$productModel = VmModel::getModel('product');
// set search and keyword
if ($keyword = vmRequest::uword('keyword', false, ' ,-,+,.,_')) {
$pathway->addItem($keyword);
//$title .=' ('.$keyword.')';
}
//$search = VmRequest::uword('keyword', null);
$this->searchcustom = '';
$this->searchcustomvalues = '';
if (!empty($keyword)) {
$this->searchcustom = $this->getSearchCustom();
$search = $keyword;
} else {
$keyword = '';
$search = NULL;
}
$this->assignRef('search', $search);
$this->assignRef('keyword', $keyword);
$categoryId = JRequest::getInt('virtuemart_category_id', false);
$virtuemart_manufacturer_id = JRequest::getInt('virtuemart_manufacturer_id', false);
if ($categoryId === false and $virtuemart_manufacturer_id === false) {
$categoryId = ShopFunctionsF::getLastVisitedCategoryId();
$catType = 'category';
$this->setCanonicalLink($tpl, $document, $categoryId, $catType);
} else {
if ($categoryId === false and $virtuemart_manufacturer_id) {
$catType = 'manufacturer';
$this->setCanonicalLink($tpl, $document, $virtuemart_manufacturer_id, $catType);
} else {
$catType = 'category';
$this->setCanonicalLink($tpl, $document, $categoryId, $catType);
}
}
if ($categoryId !== -1) {
$vendorId = 1;
$category = $categoryModel->getCategory($categoryId);
}
if (!empty($category)) {
if (empty($category->category_layout) or $category->category_layout != 'category') {
// Load the products in the given category
$ids = $productModel->sortSearchListQuery(TRUE, $categoryId);
$perRow = empty($category->products_per_row) ? VmConfig::get('products_per_row', 3) : $category->products_per_row;
$this->assignRef('perRow', $perRow);
$pagination = $productModel->getPagination($perRow);
$this->assignRef('vmPagination', $pagination);
$products = $productModel->getProducts($ids);
//$products = $productModel->getProductsInCategory($categoryId);
$productModel->addImages($products, 1);
$this->assignRef('products', $products);
if ($products) {
$currency = CurrencyDisplay::getInstance();
$this->assignRef('currency', $currency);
foreach ($products as $product) {
$product->stock = $productModel->getStockIndicator($product);
}
}
$ratingModel = VmModel::getModel('ratings');
$showRating = $ratingModel->showRating();
$this->assignRef('showRating', $showRating);
$orderByList = $productModel->getOrderByList($categoryId);
$this->assignRef('orderByList', $orderByList);
// Add feed links
if ($products && VmConfig::get('feed_cat_published', 0) == 1) {
$link = '&format=feed&limitstart=';
$attribs = array('type' => 'application/rss+xml', 'title' => 'RSS 2.0');
$document->addHeadLink(JRoute::_($link . '&type=rss', FALSE), 'alternate', 'rel', $attribs);
$attribs = array('type' => 'application/atom+xml', 'title' => 'Atom 1.0');
$document->addHeadLink(JRoute::_($link . '&type=atom', FALSE), 'alternate', 'rel', $attribs);
}
if (!class_exists('Permissions')) {
require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'permissions.php';
}
$showBasePrice = Permissions::getInstance()->check('admin');
//todo add config settings
$this->assignRef('showBasePrice', $showBasePrice);
}
//No redirect here, for category id = 0 means show ALL categories! note by Max Milbers
if (!empty($categoryId) and $categoryId !== -1 and (empty($category->slug) or !$category->published)) {
if (empty($category->slug)) {
vmInfo(JText::_('COM_VIRTUEMART_CAT_NOT_FOUND'));
} else {
if ($category->virtuemart_id !== 0 and !$category->published) {
//.........这里部分代码省略.........
示例5: display
public function display($tpl = null)
{
$show_prices = VmConfig::get('show_prices', 1);
if ($show_prices == '1') {
JLoader::register('calculationHelper', JPATH_VM_ADMINISTRATOR . '/helpers/calculationh.php');
}
$this->assignRef('show_prices', $show_prices);
// add javascript for price and cart, need even for quantity buttons, so we need it almost anywhere
vmJsApi::jPrice();
$document = JFactory::getDocument();
$app = JFactory::getApplication();
$pathway = $app->getPathway();
JLoader::register('VmImage', JPATH_VM_ADMINISTRATOR . '/helpers/image.php');
$categoryModel = VmModel::getModel('category');
$productModel = VmModel::getModel('product');
$search = JRequest::getvar('keyword', null);
if ($search !== null) {
$searchcustom = $this->getSearchCustom();
}
$this->assignRef('keyword', $keyword);
$this->assignRef('search', $search);
$categoryId = JRequest::getInt('virtuemart_category_id', ShopFunctionsF::getLastVisitedCategoryId());
$virtuemart_manufacturer_id = JRequest::getInt('virtuemart_manufacturer_id', 0);
$this->setCanonicalLink($tpl, $document, $categoryId);
// $vendorId = JRequest::getInt('virtuemart_vendor_id', 1);
$vendorId = JRequest::getInt('virtuemart_vendor_id', null);
// Load the products in the given category
$products = $productModel->getProductsInCategory($categoryId, $vendorId);
$productModel->addImages($products, 1);
$this->assignRef('products', $products);
if ($products) {
$currency = CurrencyDisplay::getInstance();
$this->assignRef('currency', $currency);
foreach ($products as $product) {
$product->stock = $productModel->getStockIndicator($product);
}
}
$ratingModel = VmModel::getModel('ratings');
$showRating = $ratingModel->showRating();
$this->assignRef('showRating', $showRating);
$orderByList = $productModel->getOrderByList($categoryId);
$this->assignRef('orderByList', $orderByList);
// Add feed links
if ($products && VmConfig::get('feed_cat_published', 0) == 1) {
$link = '&format=feed&limitstart=';
$attribs = array('type' => 'application/rss+xml', 'title' => 'RSS 2.0');
$document->addHeadLink(JRoute::_($link . '&type=rss', FALSE), 'alternate', 'rel', $attribs);
$attribs = array('type' => 'application/atom+xml', 'title' => 'Atom 1.0');
$document->addHeadLink(JRoute::_($link . '&type=atom', FALSE), 'alternate', 'rel', $attribs);
}
JLoader::register('Permissions', JPATH_VM_ADMINISTRATOR . '/helpers/permissions.php');
$showBasePrice = Permissions::getInstance()->check('admin');
//todo add config settings
$this->assignRef('showBasePrice', $showBasePrice);
//set this after the $categoryId definition
$paginationAction = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id=' . $categoryId, FALSE);
$this->assignRef('paginationAction', $paginationAction);
shopFunctionsF::setLastVisitedCategoryId($categoryId);
shopFunctionsF::setLastVisitedManuId($virtuemart_manufacturer_id);
if ($categoryId !== -1) {
$vendorId = JRequest::getInt('virtuemart_vendor_id', 1);
$category = $categoryModel->getCategory($categoryId);
}
$perRow = empty($category->products_per_row) ? VmConfig::get('products_per_row', 3) : $category->products_per_row;
$this->assignRef('perRow', $perRow);
$pagination = $productModel->getPagination($perRow);
$this->assignRef('vmPagination', $pagination);
if (!empty($category)) {
if (!empty($categoryId) and $categoryId !== -1 and (empty($category->slug) or !$category->published)) {
if (empty($category->slug)) {
vmInfo(JText::_('COM_VIRTUEMART_CAT_NOT_FOUND'));
} else {
if ($category->virtuemart_id !== 0 and !$category->published) {
vmInfo('COM_VIRTUEMART_CAT_NOT_PUBL', $category->category_name, $categoryId);
//return false;
}
}
$categoryLink = '';
if ($category->category_parent_id) {
$categoryLink = '&view=category&virtuemart_category_id=' . $category->category_parent_id;
} else {
$last_category_id = shopFunctionsF::getLastVisitedCategoryId();
if (!$last_category_id or $categoryId == $last_category_id) {
$last_category_id = JRequest::getInt('virtuemart_category_id', false);
}
if ($last_category_id and $categoryId != $last_category_id) {
$categoryLink = '&view=category&virtuemart_category_id=' . $last_category_id;
}
}
$app->redirect(JRoute::_('index.php?option=com_virtuemart' . $categoryLink . '&error=404', FALSE));
return;
}
//No redirect here, category id = 0 means show ALL categories! note by Max Milbers
/* if(empty($category->virtuemart_vendor_id) && $search == null ) {
$app -> enqueueMessage(JText::_('COM_VIRTUEMART_CATEGORY_NOT_FOUND'));
$app -> redirect( 'index.php');
}*/
// Add the category name to the pathway
if ($category->parents) {
foreach ($category->parents as $c) {
//.........这里部分代码省略.........
示例6: display
public function display($tpl = null)
{
$show_prices = tsmConfig::get('show_prices', 1);
if ($show_prices == '1') {
if (!class_exists('calculationHelper')) {
require VMPATH_ADMIN . DS . 'helpers' . DS . 'calculationh.php';
}
}
$this->assignRef('show_prices', $show_prices);
if (!class_exists('shopFunctionsF')) {
require VMPATH_SITE . DS . 'helpers' . DS . 'shopfunctionsf.php';
}
$document = JFactory::getDocument();
$app = JFactory::getApplication();
$pathway = $app->getPathway();
if (!class_exists('VmImage')) {
require VMPATH_ADMIN . DS . 'helpers' . DS . 'image.php';
}
// set search and keyword
if ($keyword = vRequest::getString('keyword', false)) {
//uword('keyword', false, ' ,-,+,.,_')) {
$pathway->addItem($keyword);
//$title .=' ('.$keyword.')';
}
//$search = vRequest::uword('keyword', null);
$this->searchcustom = '';
$this->searchCustomValues = '';
//if (!empty($keyword)) {
$this->getSearchCustom();
$search = $keyword;
/*} else {
$keyword ='';
$search = NULL;
}*/
$this->assignRef('keyword', $keyword);
$this->assignRef('search', $search);
$menus = $app->getMenu();
$menu = $menus->getActive();
if (!empty($menu->id)) {
ShopFunctionsF::setLastVisitedItemId($menu->id);
} else {
if ($itemId = vRequest::getInt('Itemid', false)) {
ShopFunctionsF::setLastVisitedItemId($itemId);
}
}
$virtuemart_manufacturer_id = vRequest::getInt('virtuemart_manufacturer_id', -1);
if ($virtuemart_manufacturer_id === -1 and !empty($menu->query['virtuemart_manufacturer_id'])) {
$virtuemart_manufacturer_id = $menu->query['virtuemart_manufacturer_id'];
vRequest::setVar('virtuemart_manufacturer_id', $virtuemart_manufacturer_id);
}
$this->categoryId = vRequest::getInt('virtuemart_category_id', -1);
if ($this->categoryId === -1 and !empty($menu->query['virtuemart_category_id'])) {
$this->categoryId = $menu->query['virtuemart_category_id'];
vRequest::setVar('virtuemart_category_id', $this->categoryId);
} else {
if ($this->categoryId === -1 and $virtuemart_manufacturer_id === -1) {
$this->categoryId = ShopFunctionsF::getLastVisitedCategoryId();
}
}
$this->setCanonicalLink($tpl, $document, $this->categoryId, $virtuemart_manufacturer_id);
if (($this->categoryId === -1 or $this->categoryId === 0) and $virtuemart_manufacturer_id) {
$this->categoryId = 0;
$catType = 'manufacturer';
$this->setCanonicalLink($tpl, $document, $virtuemart_manufacturer_id, $catType);
}
$categoryModel = tmsModel::getModel('category');
$productModel = tmsModel::getModel('product');
if ($this->categoryId === -1) {
$this->categoryId = 0;
}
$vendorId = 1;
$category = $categoryModel->getCategory($this->categoryId);
if (!isset($menu->query['showproducts'])) {
$menu->query['showproducts'] = 1;
}
$this->showproducts = vRequest::getInt('showproducts', $menu->query['showproducts']);
if (!empty($category)) {
$vendorId = $category->virtuemart_vendor_id;
if ($this->showproducts) {
//if(empty($category->category_layout) or $category->category_layout != 'categories') {
// Load the products in the given category
$this->products = $productModel->getItemList();
//$products = $productModel->getProductsInCategory($this->categoryId);
$productModel->addImages($this->products, tsmConfig::get('prodimg_browse', 1));
}
//No redirect here, for category id = 0 means show ALL categories! note by Max Milbers
if (!empty($this->categoryId) and $this->categoryId !== -1 and (empty($category->slug) or !$category->published)) {
if (empty($category->slug)) {
vmInfo(tsmText::_('COM_VIRTUEMART_CAT_NOT_FOUND'));
} else {
if ($category->virtuemart_id !== 0 and !$category->published) {
vmInfo('COM_VIRTUEMART_CAT_NOT_PUBL', $category->category_name, $this->categoryId);
}
}
//Fallback
$categoryLink = '';
if ($category->category_parent_id) {
$categoryLink = '&view=category&virtuemart_category_id=' . $category->category_parent_id;
} else {
$last_category_id = shopFunctionsF::getLastVisitedCategoryId();
//.........这里部分代码省略.........