コード例 #1
0
ファイル: CatalogCategory.php プロジェクト: kvvn/homeforpets
 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;
     }
 }
コード例 #2
0
ファイル: CatalogProduct.php プロジェクト: kvvn/homeforpets
 public function getFullLink()
 {
     if (isset($this->idCategory)) {
         // возвращаем путь к категории товара и прибавляем в конце id
         return '/catalog' . CatalogCategory::getCategoryRoute($this->idCategory->link) . "/" . $this->link . '.html';
     } else {
         return '/catalog/' . $this->link . '.html';
     }
 }
コード例 #3
0
ファイル: CatalogCategory.php プロジェクト: xPashaNx/diet
 /**
  * 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']);
         }
     }
 }
コード例 #4
0
ファイル: CatalogService.php プロジェクト: xPashaNx/diet
 /**
  * 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';
     }
 }
コード例 #5
0
 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);
 }
コード例 #6
0
ファイル: DefaultController.php プロジェクト: xPashaNx/diet
 /**
  * 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);
 }