From 3f948f0836ce9cd5601aab4f40053589714afe63 Mon Sep 17 00:00:00 2001 From: "N.A.Walhof" Date: Tue, 6 Aug 2019 16:13:33 +0200 Subject: [PATCH] Add slider to url params --- .../Model/UrlBuilder/Strategy/PathStrategy.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/app/code/community/Emico/Tweakwise/Model/UrlBuilder/Strategy/PathStrategy.php b/app/code/community/Emico/Tweakwise/Model/UrlBuilder/Strategy/PathStrategy.php index 1074c35..fe92c7c 100644 --- a/app/code/community/Emico/Tweakwise/Model/UrlBuilder/Strategy/PathStrategy.php +++ b/app/code/community/Emico/Tweakwise/Model/UrlBuilder/Strategy/PathStrategy.php @@ -71,16 +71,17 @@ public function buildUrl(Emico_Tweakwise_Model_Catalog_Layer $state, Emico_Tweak protected function buildAttributeUriPath(Emico_Tweakwise_Model_Catalog_Layer $state, Emico_Tweakwise_Model_Bus_Type_Facet $facet = null, Emico_Tweakwise_Model_Bus_Type_Attribute $attribute = null) { $slugs = []; + $queryParams = []; $slugMapper = $this->getSlugAttributeMapper(); foreach ($state->getSelectedFacets() as $selectedFacet) { - if ($selectedFacet->getFacetSettings()->getSelectionType() === Emico_Tweakwise_Model_Bus_Type_Facet_Settings::SELECTION_TYPE_SLIDER) { - continue; - } - foreach ($selectedFacet->getActiveAttributes() as $activeAttribute) { if ($selectedFacet->isCategory() || $activeAttribute === $attribute) { continue; } + if ($selectedFacet->isSlider()) { + $queryParams[$selectedFacet->getFacetSettings()->getAttributeName()] = implode('-', $selectedFacet->getValue()); + continue; + } $facetSettings = $selectedFacet->getFacetSettings(); $slugs[] = [ 'facet' => $facetSettings->getUrlKey(), @@ -97,7 +98,7 @@ protected function buildAttributeUriPath(Emico_Tweakwise_Model_Catalog_Layer $st ]; } - return $this->getPathFromSlugs($slugs, $state); + return $this->getPathFromSlugs($slugs, $state, $queryParams); } /** @@ -105,7 +106,7 @@ protected function buildAttributeUriPath(Emico_Tweakwise_Model_Catalog_Layer $st * @param Emico_Tweakwise_Model_Catalog_Layer $state * @return string */ - protected function getPathFromSlugs(array $slugs, Emico_Tweakwise_Model_Catalog_Layer $state) + protected function getPathFromSlugs(array $slugs, Emico_Tweakwise_Model_Catalog_Layer $state, array $queryParams = []) { // Sort facets so we get canonical URL's for certain filter combinations $this->sortSlugs($slugs, $state); @@ -116,6 +117,9 @@ protected function getPathFromSlugs(array $slugs, Emico_Tweakwise_Model_Catalog_ } $path = rtrim($path, '/'); + if( !empty($queryParams) ){ + $path .= '?'.http_build_query($queryParams); + } return $path; }