public function display($tpl = null) { $vendorId = JRequest::getInt('vendorid', 1); $vendorModel = VmModel::getModel('vendor'); $vendorModel->setId(1); $vendor = $vendorModel->getVendor(); if (VmConfig::get('enable_content_plugin', 0)) { shopFunctionsF::triggerContentPlugin($vendor, 'vendor', 'vendor_store_desc'); shopFunctionsF::triggerContentPlugin($vendor, 'vendor', 'vendor_terms_of_service'); } $this->assignRef('vendor', $vendor); if (!VmConfig::get('shop_is_offline', 0)) { $categoryModel = VmModel::getModel('category'); $productModel = VmModel::getModel('product'); $products = array(); $categoryId = JRequest::getInt('catid', 0); $categoryChildren = $categoryModel->getChildCategoryList($vendorId, $categoryId); $categoryModel->addImages($categoryChildren, 1); $this->assignRef('categories', $categoryChildren); if (!class_exists('CurrencyDisplay')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'currencydisplay.php'; } $currency = CurrencyDisplay::getInstance(); $this->assignRef('currency', $currency); $products_per_row = VmConfig::get('homepage_products_per_row', 3); $featured_products_rows = VmConfig::get('featured_products_rows', 1); $featured_products_count = $products_per_row * $featured_products_rows; if (!empty($featured_products_count) and VmConfig::get('show_featured', 1)) { $products['featured'] = $productModel->getProductListing('featured', $featured_products_count); $productModel->addImages($products['featured'], 1); } $latest_products_rows = VmConfig::get('latest_products_rows'); $latest_products_count = $products_per_row * $latest_products_rows; if (!empty($latest_products_count) and VmConfig::get('show_latest', 1)) { $products['latest'] = $productModel->getProductListing('latest', $latest_products_count); $productModel->addImages($products['latest'], 1); } $topTen_products_rows = VmConfig::get('topTen_products_rows'); $topTen_products_count = $products_per_row * $topTen_products_rows; if (!empty($topTen_products_count) and VmConfig::get('show_topTen', 1)) { $products['topten'] = $productModel->getProductListing('topten', $topTen_products_count); $productModel->addImages($products['topten'], 1); } $recent_products_rows = VmConfig::get('recent_products_rows'); $recent_products_count = $products_per_row * $recent_products_rows; $recent_products = $productModel->getProductListing('recent'); if (!empty($recent_products_count) and VmConfig::get('show_recent', 1) and !empty($recent_products)) { $products['recent'] = $productModel->getProductListing('recent', $recent_products_count); $productModel->addImages($products['recent'], 1); } $this->assignRef('products', $products); 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); // $layoutName = VmConfig::get('vmlayout','default'); $layout = VmConfig::get('vmlayout', 'default'); $this->setLayout($layout); } else { $this->setLayout('off_line'); } # Set the titles $document = JFactory::getDocument(); // Add feed links if ($products && (VmConfig::get('feed_featured_published', 0) == 1 or VmConfig::get('feed_topten_published', 0) == 1 or VmConfig::get('feed_latest_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); } $error = JRequest::getInt('error', 0); //Todo this may not work everytime as expected, because the error must be set in the redirect links. if (!empty($error)) { $document->setTitle(JText::_('COM_VIRTUEMART_PRODUCT_NOT_FOUND') . JText::sprintf('COM_VIRTUEMART_HOME', $vendor->vendor_store_name)); } else { if (empty($vendor->customtitle)) { $app = JFactory::getApplication(); $menus = $app->getMenu(); $menu = $menus->getActive(); if ($menu) { $menuTitle = $menu->params->get('page_title'); if (empty($menuTitle)) { $menuTitle = JText::sprintf('COM_VIRTUEMART_HOME', $vendor->vendor_store_name); } $document->setTitle($menuTitle); } else { $title = JText::sprintf('COM_VIRTUEMART_HOME', $vendor->vendor_store_name); $document->setTitle($title); } } else { $document->setTitle($vendor->customtitle); } if (!empty($vendor->metadesc)) { $document->setMetaData('description', $vendor->metadesc); } if (!empty($vendor->metakey)) { $document->setMetaData('keywords', $vendor->metakey); } if (!empty($vendor->metarobot)) { $document->setMetaData('robots', $vendor->metarobot); } if (!empty($vendor->metaauthor)) { $document->setMetaData('author', $vendor->metaauthor); } } $template = VmConfig::get('vmtemplate', 'default'); shopfunctionsF::setTemplate($template); parent::display($tpl); }