Commit c058aa71b4402ff132989fa7cebb2077d6d35073
1 parent
c83e81f5
Namespaces
Showing
2 changed files
with
12 additions
and
5 deletions
Show diff stats
CatalogUrlManager.php
| @@ -4,7 +4,6 @@ | @@ -4,7 +4,6 @@ | ||
| 4 | 4 | ||
| 5 | use artweb\artbox\ecommerce\models\Category; | 5 | use artweb\artbox\ecommerce\models\Category; |
| 6 | use artweb\artbox\ecommerce\models\Product; | 6 | use artweb\artbox\ecommerce\models\Product; |
| 7 | - use artweb\artbox\ecommerce\models\ProductSearch; | ||
| 8 | use artweb\artbox\ecommerce\models\ProductVariant; | 7 | use artweb\artbox\ecommerce\models\ProductVariant; |
| 9 | use yii\web\HttpException; | 8 | use yii\web\HttpException; |
| 10 | use yii\web\UrlRuleInterface; | 9 | use yii\web\UrlRuleInterface; |
| @@ -106,6 +105,7 @@ | @@ -106,6 +105,7 @@ | ||
| 106 | public function createUrl($manager, $route, $params) | 105 | public function createUrl($manager, $route, $params) |
| 107 | { | 106 | { |
| 108 | 107 | ||
| 108 | + | ||
| 109 | if (!in_array($route, $this->route_map)) { | 109 | if (!in_array($route, $this->route_map)) { |
| 110 | return false; | 110 | return false; |
| 111 | } | 111 | } |
| @@ -140,13 +140,18 @@ | @@ -140,13 +140,18 @@ | ||
| 140 | break; | 140 | break; |
| 141 | 141 | ||
| 142 | case 'catalog/product': | 142 | case 'catalog/product': |
| 143 | + | ||
| 143 | if (!empty( $params[ 'product' ] )) { | 144 | if (!empty( $params[ 'product' ] )) { |
| 144 | - $product_alias = is_object($params[ 'product' ]) ? $params[ 'product' ]->alias : strtolower( | ||
| 145 | - $params[ 'product' ] | ||
| 146 | - ); | 145 | + $product_alias = strtolower($params[ 'product' ]); |
| 147 | unset( $params[ 'product' ] ); | 146 | unset( $params[ 'product' ] ); |
| 148 | } | 147 | } |
| 149 | - $url = 'product/' . $product_alias; | 148 | + |
| 149 | + if (!empty( $params[ 'variant' ] )) { | ||
| 150 | + $variant_sku = strtolower($params[ 'variant' ]); | ||
| 151 | + unset( $params[ 'variant' ] ); | ||
| 152 | + } | ||
| 153 | + | ||
| 154 | + $url = 'product/' . $product_alias . '/' . $variant_sku; | ||
| 150 | 155 | ||
| 151 | if (!empty( $params ) && ( $query = http_build_query($params) ) !== '') { | 156 | if (!empty( $params ) && ( $query = http_build_query($params) ) !== '') { |
| 152 | $url .= '?' . $query; | 157 | $url .= '?' . $query; |
models/ProductImage.php
| @@ -17,6 +17,8 @@ | @@ -17,6 +17,8 @@ | ||
| 17 | * @property string $title | 17 | * @property string $title |
| 18 | * @property Product $product | 18 | * @property Product $product |
| 19 | * @property ProductVariant $productVariant | 19 | * @property ProductVariant $productVariant |
| 20 | + * | ||
| 21 | + * @method string getImageUrl | ||
| 20 | */ | 22 | */ |
| 21 | class ProductImage extends ActiveRecord | 23 | class ProductImage extends ActiveRecord |
| 22 | { | 24 | { |