/** * Prepare product form data * * @param int $productId * @param int $categoryId * @param Enterprise_UrlRewrite_Model_Redirect $redirect * @return Enterprise_Catalog_Block_Adminhtml_Redirect_Edit_Form_Product */ protected function _prepareProductFormData($productId, $categoryId, $redirect) { $product = $this->_getProduct($productId); //load request_path $product->getUrlModel()->getUrl($product); /** @var $helper Enterprise_Catalog_Helper_Data */ $helper = $this->_factory->getHelper('enterprise_catalog'); $requestPath = $helper->getProductRequestPath($product->getRequestPath(), $product->getStoreId()); if (empty($requestPath)) { $requestPath = 'product-' . $product->getId(); } $targetPath = 'catalog/product/view/id/' . $product->getId(); if ($categoryId) { $category = $this->_getCategory($categoryId); $storeIds = $category->getStoreIds(); //unset default store unset($storeIds[$category->getStoreId()]); $category->setStoreId(array_pop($storeIds)); /** @var $categoryRewrite Enterprise_Catalog_Model_Category */ $categoryRewrite = Mage::getModel('enterprise_catalog/category'); $categoryRewrite->loadByCategory($category); if ($categoryRewrite->getId()) { $requestPath = $categoryRewrite->getRequestPath() . '/' . $requestPath; } $targetPath .= '/category/' . $categoryId; } $redirect->setIdentifier($requestPath); $redirect->setTargetPath($targetPath); return $this; }
/** * Prepare category form data * * @param int $categoryId * @param Enterprise_UrlRewrite_Model_Redirect $redirect * @return Enterprise_Catalog_Block_Adminhtml_Redirect_Edit_Form_Category */ protected function _prepareCategoryFormData($categoryId, Enterprise_UrlRewrite_Model_Redirect $redirect) { $category = $this->_getCategory($categoryId); //load request_path $category->getUrl(); $targetPath = 'catalog/category/view/id/' . $category->getId(); if ($category->getRequestPath()) { /** @var $helper Enterprise_Catalog_Helper_Data */ $helper = $this->_factory->getHelper('enterprise_catalog'); $requestPath = $helper->getCategoryRequestPath($category->getRequestPath(), $category->getStoreId()); } else { $requestPath = $targetPath; } $redirect->setIdentifier($requestPath); $redirect->setTargetPath($targetPath); return $this; }
/** * Get row url * * @param Enterprise_UrlRewrite_Model_Redirect $row * @return string */ public function getRowUrl($row) { return $this->getUrl('*/*/edit', array('id' => $row->getId(), 'type' => 'custom')); }