/** * Load the data, don't forget to validate the incoming data */ private function getData() { // requested page $requestedPage = $this->URL->getParameter('page', 'int', 1); // set URL and limit $this->pagination['url'] = FrontendNavigation::getURLForBlock('catalog'); $this->pagination['limit'] = FrontendModel::getModuleSetting('catalog', 'overview_num_items', 10); // populate count fields in pagination $this->pagination['num_items'] = FrontendCatalogModel::getAllCount(); $this->pagination['num_pages'] = (int) ceil($this->pagination['num_items'] / $this->pagination['limit']); // num pages is always equal to at least 1 if ($this->pagination['num_pages'] == 0) { $this->pagination['num_pages'] = 1; } // redirect if the request page doesn't exist if ($requestedPage > $this->pagination['num_pages'] || $requestedPage < 1) { $this->redirect(FrontendNavigation::getURL(404)); } // populate calculated fields in pagination $this->pagination['requested_page'] = $requestedPage; $this->pagination['offset'] = $this->pagination['requested_page'] * $this->pagination['limit'] - $this->pagination['limit']; // get all categories $this->categories = FrontendCatalogModel::getAllCategories(); // get tree of all categories $this->categoriesTree = FrontendCatalogModel::getCategoriesTree(); // get all products $this->products = FrontendCatalogModel::getAll($this->pagination['limit'], $this->pagination['offset']); }
/** * Parse */ private function parse() { // get categories $categories = FrontendCatalogModel::getAllCategories(); // get tree of all categories $tree = FrontendCatalogModel::getCategoriesTree(); // any categories? if (!empty($categories)) { // build link $link = FrontendNavigation::getURLForBlock('Catalog', 'Category'); // loop and reset url foreach ($categories as &$row) { $row['url'] = $link . '/' . $row['url']; } } // assign comments $this->tpl->assign('widgetCatalogCategoriesFlat', $categories); $this->tpl->assign('widgetCatalogCategoriesTree', $tree); }
/** * Load the data, don't forget to validate the incoming data */ private function getData() { $this->parameters = $this->URL->getParameters(); $url = end($this->parameters); if ($url === null) { $this->redirect(FrontendNavigation::getURL(404)); } // get by URL $this->record = FrontendCatalogModel::getCategory($url); if (empty($this->record)) { $this->redirect(FrontendNavigation::getURL(404)); } // get subcategories $this->subcategories = FrontendCatalogModel::getAllCategories($this->record['id'], $this->record['url']); // get subcategories tree of parent $this->subcategoriesTree = FrontendCatalogModel::getCategoriesTree($this->record['id']); //--Get all the categories $this->categoriesTree = FrontendCatalogModel::getCategoriesTree(0, $this->record['id']); // get products $this->products = FrontendCatalogModel::getAllByCategory($this->record['id']); foreach ($this->products as &$product) { $product['image'] = FrontendMediaHelper::getFromModule('Catalog', $product['id'], 0, 1, 'product'); } // requested page $requestedPage = $this->URL->getParameter('page', 'int', 1); // set URL and limit $this->pagination['url'] = FrontendNavigation::getURLForBlock('catalog', 'category') . '/' . $this->record['url']; $this->pagination['limit'] = FrontendModel::getModuleSetting('catalog', 'overview_num_items', 10); // populate count fields in pagination $this->pagination['num_items'] = FrontendCatalogModel::getCategoryCount($this->record['id']); $this->pagination['num_pages'] = (int) ceil($this->pagination['num_items'] / $this->pagination['limit']); // num pages is always equal to at least 1 if ($this->pagination['num_pages'] == 0) { $this->pagination['num_pages'] = 1; } // redirect if the request page doesn't exist if ($requestedPage > $this->pagination['num_pages'] || $requestedPage < 1) { $this->redirect(FrontendNavigation::getURL(404)); } // populate calculated fields in pagination $this->pagination['requested_page'] = $requestedPage; $this->pagination['offset'] = $this->pagination['requested_page'] * $this->pagination['limit'] - $this->pagination['limit']; }
/** * Get the data */ private function getData() { // validate incoming parameters if ($this->URL->getParameter(1) === null) { $this->redirect(FrontendNavigation::getURL(404)); } // get information $this->record = FrontendCatalogModel::get($this->URL->getParameter(1)); $this->comments = FrontendCatalogModel::getComments($this->record['id']); $this->specifications = FrontendCatalogModel::getProductSpecifications($this->record['id']); $this->tags = FrontendTagsModel::getForItem('Catalog', $this->record['id']); $this->settings = $this->get('fork.settings')->getForModule('Catalog'); $this->files = FrontendCatalogModel::getFiles($this->record['id']); $this->videos = FrontendCatalogModel::getVideos($this->record['id']); $this->relatedProducts = FrontendCatalogModel::getRelatedProducts($this->record['id']); $this->brand = FrontendCatalogModel::getBrand($this->record['brand_id']); $this->record['allow_comments'] = $this->record['allow_comments'] == 'Y'; $this->record['brand'] = $this->brand; $this->record['image'] = FrontendMediaHelper::getFromModule('Catalog', $this->record['id'], 0, 1, 'product'); $this->record['images'] = FrontendMediaHelper::getFromModule('Catalog', $this->record['id'], 0, 0, 'product'); // reset allow comments if (!$this->settings['allow_comments']) { $this->record['allow_comments'] = false; } // check if record is not empty if (empty($this->record)) { $this->redirect(FrontendNavigation::getURL(404)); } //--Get all the categories $this->categoriesTree = FrontendCatalogModel::getCategoriesTree(0, $this->record['category_id']); }