public function redirectCatalogItem($item) { $category_id = $item['category_id']; $product_id = $item['product_id']; $fullPath = ''; if (!is_null($category_id)) { $categoryMapper = new Catalog_Model_Mapper_Categories(); $category = $categoryMapper->find($category_id, new Catalog_Model_Categories()); if (!is_null($category)) { $fullPath = $category->getFullPath() . '/'; } } if (!is_null($product_id)) { $productMapper = new Catalog_Model_Mapper_Products(); $product = $productMapper->find($product_id, new Catalog_Model_Products()); if (!is_null($product)) { $fullPath = $product->getFullPath() . '/'; } } $url = '/catalog/' . $fullPath; Zend_Controller_Front::getInstance()->getResponse()->setRedirect($url, 301); return; }
public function passportAction() { //Zend_Debug::dump($this->_request->getParams()); $product = $this->_modelMapper->find($this->_request->getParam('id'), $this->_model); if (!$product) { throw new Zend_Exception("Такого товара нет", 404); } $modificationsId = $this->_request->getParam('modifications'); $modifications = array(); if ($modificationsId && !empty($modificationsId)) { $select = $this->_subproductsModelMapper->getDbTable()->select(); $select->where('id IN (?)', $modificationsId)->order('order ASC'); $modifications = $this->_subproductsModelMapper->fetchAll($select); } $propertiesProduct = $this->_modelMapper->findProductParams($this->_request->getParam('id')); $select = $this->_subproductsParamsMapper->getDbTable()->select()->order('order ASC'); $modificationsProperty = $this->_modelMapper->findSubproductParams($product->getId(), $select); $modificationsTableHead = ''; $modificationsTableBody = ''; if (!empty($modificationsProperty)) { $modificationsTableHead .= '<tr>'; $modificationsTableHead .= '<th align="center" width="20%" style="font-weight: bolder">Название</th>'; /**@var $value Catalog_Model_SubproductParams*/ foreach ($modificationsProperty as $value) { $modificationsTableHead .= '<th align="center" style="font-weight: bolder">' . $value->getName() . '</th>'; } $modificationsTableHead .= '</tr>'; foreach ($modifications as $modification) { $modificationsTableBody .= '<tr>'; $modificationsTableBody .= '<td width="20%" nowrap="nowrap">' . $modification->getSku() . '</td>'; $modificationPropertyValues = $this->_subproductsModelMapper->findSubProductParamValue($modification->getId()); /**@var $value Catalog_Model_SubproductParamsValues*/ foreach ($modificationPropertyValues as $value) { $modificationsTableBody .= '<td>' . $value->getValue() . '</td>'; } $modificationsTableBody .= '</tr>'; } } //Zend_Debug::dump($modificationsProperty); $pdf = new Admin_Model_PassportPdf(); // set document information $pdf->SetAuthor('Альфа Гидро'); $pdf->SetTitle('Паспорт'); $pdf->SetSubject('Паспорт'); $pdf->SetKeywords('Паспорт, PDF'); $pdf->SetFont('', '', 12, '', true); // Set Product $pdf->setProduct($product); // Set Modifications $pdf->setAModificationsProduct($modifications); // Set PropertiesProduct $pdf->setPropertiesProduct($propertiesProduct); // Set Modification Table $pdf->setModificationTableHead($modificationsTableHead); $pdf->setModificationTableBody($modificationsTableBody); $pdf->AddPage(); $pdf->showName()->showModificationsList()->showImages()->showProperty()->showModificatonTable()->showGarant('ГАРАНТИЙНЫЕ ОБЯЗАТЕЛЬСТВА', 'Компания гарантирует работоспособность указанных изделий в течение 1 (года) с момента изготовления. При обнаружении скрытого дефекта в период гарантийного срока фирма обязуется безвозмездно заменить изделие. Организация не несет ответственности за убытки, причиненные неисправностью установленного изделия. Гарантия не распространяется на изделия неправильно установленные или поврежденные механическими и химическими воздействиями, а так же, эксплуатируемыми в условиях не соответствующих указанным в настоящем паспорте.'); $pdf->Output(); $this->getResponse()->setHeader('Content-Type', 'application/pdf'); $this->_helper->layout()->disableLayout(); }