diff --git a/CatalogUrlManager.php b/CatalogUrlManager.php index 2115807..83c410e 100644 --- a/CatalogUrlManager.php +++ b/CatalogUrlManager.php @@ -4,7 +4,6 @@ use artweb\artbox\ecommerce\models\Category; use artweb\artbox\ecommerce\models\Product; - use artweb\artbox\ecommerce\models\ProductSearch; use artweb\artbox\ecommerce\models\ProductVariant; use yii\web\HttpException; use yii\web\UrlRuleInterface; @@ -106,6 +105,7 @@ public function createUrl($manager, $route, $params) { + if (!in_array($route, $this->route_map)) { return false; } @@ -140,13 +140,18 @@ break; case 'catalog/product': + if (!empty( $params[ 'product' ] )) { - $product_alias = is_object($params[ 'product' ]) ? $params[ 'product' ]->alias : strtolower( - $params[ 'product' ] - ); + $product_alias = strtolower($params[ 'product' ]); unset( $params[ 'product' ] ); } - $url = 'product/' . $product_alias; + + if (!empty( $params[ 'variant' ] )) { + $variant_sku = strtolower($params[ 'variant' ]); + unset( $params[ 'variant' ] ); + } + + $url = 'product/' . $product_alias . '/' . $variant_sku; if (!empty( $params ) && ( $query = http_build_query($params) ) !== '') { $url .= '?' . $query; diff --git a/models/ProductImage.php b/models/ProductImage.php index 1c3a26d..7e73141 100755 --- a/models/ProductImage.php +++ b/models/ProductImage.php @@ -17,6 +17,8 @@ * @property string $title * @property Product $product * @property ProductVariant $productVariant + * + * @method string getImageUrl */ class ProductImage extends ActiveRecord { -- libgit2 0.21.4