Beispiel #1
0
 public function getFullLinkFast()
 {
     if (isset($this->idCategoryFast)) {
         // возвращаем путь к категории товара и прибавляем в конце id
         return '/catalog' . CatalogCategory::getCategoryRouteFast($this->idCategoryFast) . '/' . $this->link . '.html';
     } else {
         return '/catalog/' . $this->link . '.html';
     }
 }
Beispiel #2
0
 public static function getCategoryRouteFast($category)
 {
     if ($category) {
         if ($parent = CatalogCategory::model()->findByPk($category->parent_id)) {
             $route = CatalogCategory::getCategoryRouteFast($parent) . "/" . $category->link;
         } else {
             $route = "/" . $category->link;
         }
         return $route;
     } else {
         return false;
     }
 }
Beispiel #3
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);
 }