diff --git a/core/lib/Thelia/Rewriting/RewritingRetriever.php b/core/lib/Thelia/Rewriting/RewritingRetriever.php index dfdbab05c..ce6ada8e7 100755 --- a/core/lib/Thelia/Rewriting/RewritingRetriever.php +++ b/core/lib/Thelia/Rewriting/RewritingRetriever.php @@ -71,7 +71,9 @@ class RewritingRetriever $this->rewrittenUrl = null; $this->url = URL::getInstance()->viewUrl($view, $allParametersWithoutView); if($this->search !== null) { - $this->rewrittenUrl = $this->search->getUrl(); + $this->rewrittenUrl = URL::getInstance()->absoluteUrl( + $this->search->getUrl() + ); } } diff --git a/core/lib/Thelia/Tests/Action/RewrittenUrlTestTrait.php b/core/lib/Thelia/Tests/Action/RewrittenUrlTestTrait.php index 567fbe3d9..3fef92565 100644 --- a/core/lib/Thelia/Tests/Action/RewrittenUrlTestTrait.php +++ b/core/lib/Thelia/Tests/Action/RewrittenUrlTestTrait.php @@ -3,6 +3,7 @@ namespace Thelia\Tests\Action; use Propel\Runtime\ActiveQuery\Criteria; use Thelia\Exception\UrlRewritingException; +use Thelia\Model\Base\ProductQuery; use Thelia\Model\Base\RewritingUrlQuery; use Thelia\Model\ConfigQuery; use Thelia\Rewriting\RewritingResolver; @@ -81,6 +82,17 @@ trait RewrittenUrlTestTrait $this->assertEquals($oldUrlEntry->getRedirected(), $newUrlEntry->getId()); /* we can reassign old Url to another object */ - //@todo + $aRandomProduct = ProductQuery::create() + ->filterById($object->getId(), Criteria::NOT_EQUAL) + ->findOne(); + + $failReassign = true; + try { + $aRandomProduct->setRewrittenUrl($aRandomProduct->getLocale(), $currentUrl); + $failReassign = false; + } catch(\Exception $e) { + } + + $this->assertFalse($failReassign); } } \ No newline at end of file diff --git a/core/lib/Thelia/Tests/Rewriting/RewritingRetrieverTest.php b/core/lib/Thelia/Tests/Rewriting/RewritingRetrieverTest.php index 1a47dc10a..e237d65fb 100755 --- a/core/lib/Thelia/Tests/Rewriting/RewritingRetrieverTest.php +++ b/core/lib/Thelia/Tests/Rewriting/RewritingRetrieverTest.php @@ -101,7 +101,7 @@ class RewritingRetrieverTest extends \PHPUnit_Framework_TestCase $retriever->loadViewUrl('view', 'fr_FR', 1); - $this->assertEquals('foo.html', $retriever->rewrittenUrl); + $this->assertEquals(URL::getInstance()->absoluteUrl('foo.html'), $retriever->rewrittenUrl); $this->assertEquals(URL::getInstance()->viewUrl('view', array('locale' => 'fr_FR', 'view_id' => 1)), $retriever->url); } diff --git a/core/lib/Thelia/Tools/URL.php b/core/lib/Thelia/Tools/URL.php index 85f5289cd..57fb9fa96 100755 --- a/core/lib/Thelia/Tools/URL.php +++ b/core/lib/Thelia/Tools/URL.php @@ -199,7 +199,7 @@ class URL public function retrieve($view, $viewId, $viewLocale) { if (ConfigQuery::isRewritingEnable()) { - URL::getInstance()->absoluteUrl($this->retriever->loadViewUrl($view, $viewLocale, $viewId)); + $this->retriever->loadViewUrl($view, $viewLocale, $viewId); } else { $allParametersWithoutView = array(); $allParametersWithoutView['locale'] = $viewLocale; diff --git a/templates/backOffice/default/I18n/fr_FR.php b/templates/backOffice/default/I18n/fr_FR.php index c0b2c7f07..72db631f2 100755 --- a/templates/backOffice/default/I18n/fr_FR.php +++ b/templates/backOffice/default/I18n/fr_FR.php @@ -622,7 +622,7 @@ return array( 'Product EAN Code' => 'Code EAN du produit', 'Product Features' => 'Caractéristiques du produit', 'Product accessories' => 'Accessoires du produit', - 'Product attributes' => 'Attributs produit', + 'Product attributes' => 'Déclinaisons produit', 'Product catalog configuration' => 'Configuration du catalogue produit', 'Product created on %date_create. Last modification: %date_change' => 'Produit créé le %date_create. Dernière modification le %date_change', 'Product features' => 'Caractéristiques produit',