Exemplo n.º 1
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);
 }
Exemplo n.º 2
0
 /**
  * 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);
 }