public static function getCategoryRoute($link) { $criteria = new CDbCriteria(); $criteria->select = array('t.*'); $criteria->condition = 't.link=:link'; $criteria->params = array(':link' => $link); //$criteria->with=array('parentShort'); $category = CatalogCategory::model()->find($criteria); //echo $category->title.'<br/>'; //if($category=CatalogCategory::model()->with('parent')->findAll(array('select'=>'t.id,parent.link','condition'=>'t.link=:link','params'=> array(':link'=>$link)))){ if ($category) { //if (isset($category->parentShort)) { if ($parent = CatalogCategory::model()->findByPk($category->parent_id)) { $route = CatalogCategory::getCategoryRoute($parent->link) . "/" . $link; //$route=CatalogCategory::getCategoryRoute($category->parentShort->link)."/".$link; } else { $route = "/" . $link; } return $route; } else { return false; } }
public function getFullLink() { if (isset($this->idCategory)) { // возвращаем путь к категории товара и прибавляем в конце id return '/catalog' . CatalogCategory::getCategoryRoute($this->idCategory->link) . "/" . $this->link . '.html'; } else { return '/catalog/' . $this->link . '.html'; } }
/** * Create url * * @param string $route * @param array $params * * @return string */ public function createUrl($route, $params = array()) { if ($route == 'category') { if (isset($params['link'])) { return '/services' . CatalogCategory::getCategoryRoute($params['link']); } } }
/** * Returns the full link to the service * * @return string */ public function getFullLink() { if (isset($this->idCategory)) { return '/services' . CatalogCategory::getCategoryRoute($this->idCategory->link) . '/' . $this->link . '.html'; } else { return '/services/' . $this->link . '.html'; } }
public function createUrl($route, $params = array(), $ampersand = '&') { // если формируем ссылку на категорию if ($route == 'category') { if (isset($params['link'])) { return '/catalog' . CatalogCategory::getCategoryRoute($params['link']); } } // если формируем ссылку на товар if ($route == 'product') { // если передано id товара if (isset($params['id'])) { // если существует такой продукт if ($product = CatalogProduct::model()->find(array('condition' => 'id=:id', 'params' => array(':id' => $params['id'])))) { // берем категорию продукта $category = CatalogCategory::model()->with('parentShort')->findByPk($product->id_category); // возвращаем путь к категории товара и прибавляем в конце id return '/catalog' . CatalogCategory::getCategoryRouteFast($category) . '/' . $product->id; } } } // если условия не сработали - формируем адрес обычным образом return parent::createUrl($route, $params, $ampersand); }
/** * Create url * * @param string $route * @param array $params * @param string $ampersand * * @return string */ public function createUrl($route, $params = array(), $ampersand = '&') { if ($route == 'category') { if (isset($params['link'])) { return '/services' . CatalogCategory::getCategoryRoute($params['link']); } } if ($route == 'service') { if (isset($params['id'])) { if ($service = CatalogService::model()->find(array('condition' => 'id=:id', 'params' => array(':id' => $params['id'])))) { $category = CatalogCategory::model()->findByPk($service->id_category); return '/services' . CatalogCategory::getCategoryRoute($category->link) . '/' . $service->id; } } } return parent::createUrl($route, $params, $ampersand); }