/** * Возвращает html код с хлебными крошками * * @return string */ private static function getBreadcrumbs() { $tecDocRestClient = new TecDoc(); $tecDocRestClient->setUserKey(TecDocApiConfig::USER_KEY)->setUserLogin(TecDocApiConfig::USER_LOGIN)->setUserPsw(TecDocApiConfig::USER_PSW); $breadcrumbs = array(); $manufacturerId = (int) $_GET['man']; $manufacturers = $tecDocRestClient->getManufacturers(); if (is_array($manufacturers)) { foreach ($manufacturers as $oneManufacturer) { if ($oneManufacturer->id === $manufacturerId) { $breadcrumbs[] = array('name' => $oneManufacturer->name, 'url' => "?man={$manufacturerId}"); } } } $models = $tecDocRestClient->getModels($manufacturerId); $modelId = (int) $_GET['model']; if (is_array($models)) { foreach ($models as $oneModel) { if ($oneModel->id === $modelId) { $breadcrumbs[] = array('name' => $oneModel->name); } } } $templateData = array('breadcrumbs' => $breadcrumbs); return View::deploy('common/breadcumbs.tpl', $templateData); }
/** * Возвращает html страницы с моделями * * @return string */ public function getHtml() { $tecDocRestClient = new TecDoc(); $tecDocRestClient->setUserKey(TecDocApiConfig::USER_KEY)->setUserLogin(TecDocApiConfig::USER_LOGIN)->setUserPsw(TecDocApiConfig::USER_PSW); $manufacturerId = $_GET['man']; $dataModels = $tecDocRestClient->getModels($manufacturerId); $begin = 1990; $end = (int) date('Y'); $step = 10; $selectedYear = isset($_GET['yearFilter']) && $_GET['yearFilter'] !== 'all' ? (int) $_GET['yearFilter'] : -1; $yearsFilter = array(); $outModels = array(); for ($i = $begin - $step; $i < $end; $i += $step) { $yearsFilter[] = array('begin' => $i < $begin ? 0 : $i, 'end' => $i >= $end - $step ? $end : $i + $step, 'endView' => $i >= $end - $step ? '' : $i + $step, 'isVisible' => false); } foreach ($dataModels as $oneModel) { $isModelVisible = $selectedYear === -1; $yearTo = $oneModel->yearTo ? $oneModel->yearTo : new \DateTime(); $yearFrom = $oneModel->yearFrom ? $oneModel->yearFrom : new \DateTime('1970-01-01'); foreach ($yearsFilter as &$oneRangeValue) { if ($yearFrom->format('Y') <= $oneRangeValue['end'] && $yearTo->format('Y') >= $oneRangeValue['begin']) { $oneRangeValue['isVisible'] = true; if ($selectedYear === $oneRangeValue['end']) { $isModelVisible = true; } } } if ($isModelVisible) { $outModels[] = $oneModel; } } $contentTemplateData = array('models' => $outModels, 'breadcrumbs' => self::getBreadcrumbs(), 'selectedYear' => $selectedYear, 'yearsFilter' => $yearsFilter, 'man' => $manufacturerId); $templateData = array('content' => View::deploy('models.tpl', $contentTemplateData)); return View::deploy('index.tpl', $templateData); }