From 09f8e72ab42b62099cd082d1c283d562b273389b Mon Sep 17 00:00:00 2001 From: tjeujansen Date: Fri, 22 Mar 2024 14:44:08 +0100 Subject: [PATCH 1/7] chore: Added semantic release --- .github/workflows/release.yml | 32 ++++++++++++++++++++++++++++++++ .releaserc | 31 +++++++++++++++++++++++++++++++ README.md | 4 ++++ 3 files changed, 67 insertions(+) create mode 100644 .github/workflows/release.yml create mode 100644 .releaserc diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..c4aa6a9 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,32 @@ +name: Release + +on: + push: + branches: + - master + - beta + +jobs: + release: + runs-on: ubuntu-latest + + permissions: + contents: write + + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + steps: + - name: Checkout Git repository + uses: actions/checkout@v3 + + - name: Use Node.js 20 + uses: actions/setup-node@v3 + with: + node-version: 20 + + - name: Install semantic-release + run: npm install -g semantic-release @semantic-release/changelog @semantic-release/git @semantic-release/exec + + - name: Run semantic-release + run: semantic-release diff --git a/.releaserc b/.releaserc new file mode 100644 index 0000000..7ca40a4 --- /dev/null +++ b/.releaserc @@ -0,0 +1,31 @@ +{ + "branches": [ + { + "name": "master" + }, + { + "name": "beta", + "prerelease": true + } + ], + "plugins": [ + "@semantic-release/commit-analyzer", + "@semantic-release/release-notes-generator", + "@semantic-release/github", + [ + "@semantic-release/changelog", + { + "changelogFile": "CHANGELOG.md" + } + ], + [ + "@semantic-release/git", + { + "assets": [ + "CHANGELOG.md" + ], + "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" + } + ] + ] +} diff --git a/README.md b/README.md index 007b8e1..e6d7c66 100644 --- a/README.md +++ b/README.md @@ -27,3 +27,7 @@ php bin/magento setup:upgrade It is possible to have your users navigate to a landingpage when the user happens to select a set of filters which matches a landingpage. In order to do this one has to enable "tweakwise_attributelanding/general/allow_crosslink". It is also important to note that in order to achieve this the filter values configured in the landingpage match the tweakwise filter values (as known in the navigator) exactly, this is case sensitive! + +## Contributors +If you want to create a pull request as a contributor, use the guidelines of semantic-release. semantic-release automates the whole package release workflow including: determining the next version number, generating the release notes, and publishing the package. +By adhering to the commit message format, a release is automatically created with the commit messages as release notes. Follow the guidelines as described in: https://github.com/semantic-release/semantic-release?tab=readme-ov-file#commit-message-format. From f1530d0ef9856ee5e50cd88110749f4b0a881fbb Mon Sep 17 00:00:00 2001 From: tjeujansen Date: Fri, 29 Mar 2024 09:00:57 +0100 Subject: [PATCH 2/7] chore: Added Youwe Testing Suite --- .github/workflows/testing-suite.yaml | 22 +++++++ composer.json | 40 ++++++++++++- grumphp.yml | 90 ++++++++++++++++++++++++++++ pdepend.xml | 11 ++++ phpcs.xml | 15 +++++ phpmd.xml | 10 ++++ phpstan.neon | 3 + 7 files changed, 190 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/testing-suite.yaml create mode 100644 grumphp.yml create mode 100644 pdepend.xml create mode 100644 phpcs.xml create mode 100644 phpmd.xml create mode 100644 phpstan.neon diff --git a/.github/workflows/testing-suite.yaml b/.github/workflows/testing-suite.yaml new file mode 100644 index 0000000..f33b374 --- /dev/null +++ b/.github/workflows/testing-suite.yaml @@ -0,0 +1,22 @@ +name: Testing Suite +on: [push] +jobs: + linter: + strategy: + matrix: + image: [ + 'srcoder/development-php:php82-fpm' + ] + runs-on: ubuntu-latest + container: + image: ${{ matrix.image }} + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Testing Suite + run: | + composer2 config http-basic.repo.magento.com ${{ secrets.MAGENTO_USERNAME }} ${{ secrets.MAGENTO_PASSWORD }} + composer2 install --dev --prefer-dist --no-scripts --no-progress --optimize-autoloader --no-interaction -vvv + composer2 show + vendor/bin/grumphp run --no-interaction + shell: bash diff --git a/composer.json b/composer.json index c968099..a9bd319 100644 --- a/composer.json +++ b/composer.json @@ -5,7 +5,14 @@ "require": { "php": ">=8.0 <8.3", "tweakwise/magento2-tweakwise": "^5.7.4", - "emico/m2-attributelanding": "^4.0" + "emico/m2-attributelanding": "^4.1" + }, + "require-dev": { + "symfony/finder": "^6.4.0", + "youwe/testing-suite": "^2.18", + "youwe/coding-standard-magento2": "^2.0.0", + "phpstan/extension-installer": "^1.3", + "bitexpert/phpstan-magento": "^0.30.1" }, "type": "magento2-module", "replace": { @@ -18,5 +25,36 @@ "psr-4": { "Tweakwise\\AttributeLandingTweakwise\\": "src" } + }, + "repositories": [ + { + "type": "composer", + "url": "https://repo.magento.com/" + } + ], + "config": { + "sort-packages": true, + "allow-plugins": { + "magento/composer-dependency-version-audit-plugin": true, + "youwe/coding-standard-phpstorm": true, + "phpro/grumphp-shim": true, + "dealerdirect/phpcodesniffer-composer-installer": true, + "youwe/testing-suite": true, + "phpstan/extension-installer": true + } + }, + "archive": { + "exclude": [ + "/.gitignore", + "/grumphp.yml", + "/pdepend.xml", + "/phpstan.neon", + "/phpunit.xml", + "/phpcs.xml", + "/phpmd.xml", + "/package.json", + "/.eslintrc.json", + "/.eslintignore" + ] } } diff --git a/grumphp.yml b/grumphp.yml new file mode 100644 index 0000000..69f43b7 --- /dev/null +++ b/grumphp.yml @@ -0,0 +1,90 @@ +parameters: + # Default settings for php testing suite tasks + composer.strict: true + + jsonlint.detect_key_conflicts: true + + xmllint.load_from_net: true + xmllint.x_include: true + xmllint.dtd_validation: true + xmllint.scheme_validation: true + xmllint.triggered_by: [xml] + xmllint.ignore_patterns: + # Uses an incomplete definition, which conflicts when + # is defined. + - /^phpcs.xml$/ + - /^phpmd.xml$/ + - /^phpunit.xml$/ + - /^pdepend.xml$/ + + yamllint.parse_constant: true + + phpcs.standard: ./phpcs.xml + phpcs.triggered_by: [php,phtml] + + phplint.exclude: ['vendor'] + phplint.jobs: ~ + phplint.short_open_tag: false + phplint.ignore_patterns: [ ] + phplint.triggered_by: ['php'] + + phpmd.exclude: [] + phpmd.ruleset: + - ./phpmd.xml + phpmd.triggered_by: [php] + + phpstan.autoload_file: ~ + phpstan.configuration: ./phpstan.neon + phpstan.level: 4 + phpstan.triggered_by: [php] + + phpunit.config_file: ./phpunit.xml + + securitychecker.lockfile: ./composer.lock + securitychecker.run_always: true + + git_blacklist.keywords: + - "die(" + - "dd(" + - "var_dump(" + - "console.log(" + - "print_r(" + - "phpinfo(" + - "exit(" + - "exit;" + - "<<<<<<<" + - ">>>>>>>" + - "=======" + - " + + + + memory + + + diff --git a/phpcs.xml b/phpcs.xml new file mode 100644 index 0000000..2eb1290 --- /dev/null +++ b/phpcs.xml @@ -0,0 +1,15 @@ + + + PHPCS + + + + + + + + diff --git a/phpmd.xml b/phpmd.xml new file mode 100644 index 0000000..1b454e9 --- /dev/null +++ b/phpmd.xml @@ -0,0 +1,10 @@ + + + PHPMD + + + diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 0000000..9314954 --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,3 @@ +parameters: + excludePaths: +# - %rootDir%/../../../path/to/exclude/* From 2e1489aa78dcee80656be304470d5b0bd9c0731a Mon Sep 17 00:00:00 2001 From: tjeujansen Date: Fri, 29 Mar 2024 09:53:49 +0100 Subject: [PATCH 3/7] chore: Added current version --- composer.json | 1 + 1 file changed, 1 insertion(+) diff --git a/composer.json b/composer.json index a9bd319..ed5a615 100644 --- a/composer.json +++ b/composer.json @@ -2,6 +2,7 @@ "name": "tweakwise/magento2-attributelanding-tweakwise", "description": "Provides compatibility between Attribute landing module and Tweakwise module.", "license": "OSL-3.0", + "version": "4.3.1", "require": { "php": ">=8.0 <8.3", "tweakwise/magento2-tweakwise": "^5.7.4", From 9336355a1ab2f003b084caba710cc4dbb5a6cc6c Mon Sep 17 00:00:00 2001 From: tjeujansen Date: Fri, 29 Mar 2024 12:06:04 +0100 Subject: [PATCH 4/7] fix: Applied phpcs and phpmd rules --- .../RewriteResolver/LandingPageResolver.php | 4 +++ .../FilterApplier/TweakwiseFilterApplier.php | 7 ++-- .../LandingPageInputProvider.php | 3 +- .../FilterHider/TweakwiseFilterHider.php | 4 +-- src/Model/FilterManager.php | 35 +++++++++++++------ .../RenderLayered/RendererPlugin.php | 3 +- .../Model/AjaxNavigationResultPlugin.php | 9 ++--- src/Plugin/PathSlugStrategyPlugin.php | 8 +++-- src/Plugin/QueryParameterStrategyPlugin.php | 12 +++++-- src/Plugin/Seo/FilterHelperPlugin.php | 6 +++- src/Plugin/UrlPlugin.php | 4 ++- src/registration.php | 1 + 12 files changed, 67 insertions(+), 29 deletions(-) diff --git a/src/Model/Catalog/Layer/Url/RewriteResolver/LandingPageResolver.php b/src/Model/Catalog/Layer/Url/RewriteResolver/LandingPageResolver.php index c566f3f..2617482 100644 --- a/src/Model/Catalog/Layer/Url/RewriteResolver/LandingPageResolver.php +++ b/src/Model/Catalog/Layer/Url/RewriteResolver/LandingPageResolver.php @@ -60,6 +60,9 @@ public function __construct( /** * @inheritDoc + * + * phpcs:disable Magento2.CodeAnalysis.EmptyBlock.DetectedCatch + * phpcs:disable Generic.CodeAnalysis.EmptyStatement.DetectedCatch */ public function getRewrites(MagentoHttpRequest $request): array { @@ -107,6 +110,7 @@ protected function getPossibleLandingPagePaths(string $fullUriPath): array $lastPathPart .= '/' . $pathPart; $paths[] = $lastPathPart; } + $paths = array_reverse($paths); if (!$this->attributeLandingConfig->isAppendCategoryUrlSuffix()) { diff --git a/src/Model/FilterApplier/TweakwiseFilterApplier.php b/src/Model/FilterApplier/TweakwiseFilterApplier.php index aef1dce..87a4166 100644 --- a/src/Model/FilterApplier/TweakwiseFilterApplier.php +++ b/src/Model/FilterApplier/TweakwiseFilterApplier.php @@ -1,4 +1,5 @@ * @copyright (c) Emico B.V. 2017 @@ -40,11 +41,13 @@ public function applyFilters(LandingPageInterface $page) $navigationRequest->addAttributeFilter($filter->getFacet(), $filter->getValue()); } - if ($filterTemplateId = $page->getTweakwiseFilterTemplate()) { + $filterTemplateId = $page->getTweakwiseFilterTemplate(); + if ($filterTemplateId) { $navigationRequest->setTemplateId($filterTemplateId); } - if ($sortTemplateId = $page->getTweakwiseSortTemplate()) { + $sortTemplateId = $page->getTweakwiseSortTemplate(); + if ($sortTemplateId) { $navigationRequest->setSortTemplateId($sortTemplateId); } } diff --git a/src/Model/FilterFormInputProvider/LandingPageInputProvider.php b/src/Model/FilterFormInputProvider/LandingPageInputProvider.php index 0ab0e3f..7609319 100644 --- a/src/Model/FilterFormInputProvider/LandingPageInputProvider.php +++ b/src/Model/FilterFormInputProvider/LandingPageInputProvider.php @@ -4,6 +4,7 @@ * @author : Edwin Jacobs, email: ejacobs@emico.nl. * @copyright : Copyright Emico B.V. 2020. */ + namespace Tweakwise\AttributeLandingTweakwise\Model\FilterFormInputProvider; use Emico\AttributeLanding\Api\Data\LandingPageInterface; @@ -114,7 +115,7 @@ protected function getPage(): LandingPageInterface /** * @return string */ - public function getOriginalUrl() : string + public function getOriginalUrl(): string { return $this->layerUrl->getUrlStrategy()->getOriginalUrl($this->request); } diff --git a/src/Model/FilterHider/TweakwiseFilterHider.php b/src/Model/FilterHider/TweakwiseFilterHider.php index 6f811a9..3537329 100644 --- a/src/Model/FilterHider/TweakwiseFilterHider.php +++ b/src/Model/FilterHider/TweakwiseFilterHider.php @@ -1,4 +1,5 @@ * @copyright (c) Emico B.V. 2017 @@ -26,8 +27,7 @@ public function shouldHideFilter( LandingPageInterface $landingPage, FilterInterface $filter, Item $filterItem = null - ): bool - { + ): bool { if (!$filter instanceof TweakwiseFilter) { return false; } diff --git a/src/Model/FilterManager.php b/src/Model/FilterManager.php index 1fb74ed..a3fa65c 100644 --- a/src/Model/FilterManager.php +++ b/src/Model/FilterManager.php @@ -1,4 +1,5 @@ * @copyright (c) Emico B.V. 2017 @@ -92,7 +93,8 @@ static function (Item $item) { SORT_REGULAR ); - if ($url = $this->urlFinder->findUrlByFilters($filters, $layer->getCurrentCategory()->getEntityId())) { + $url = $this->urlFinder->findUrlByFilters($filters, $layer->getCurrentCategory()->getEntityId()); + if ($url) { return $url; } @@ -104,7 +106,8 @@ static function (Item $item) { */ public function getLandingsPageFilters() { - if (!$landingsPage = $this->landingPageContext->getLandingPage()) { + $landingsPage = $this->landingPageContext->getLandingPage(); + if (!$landingsPage) { return []; } @@ -122,18 +125,23 @@ public function getActiveFiltersExcludingLandingPageFilters(): array if ($landingPage === null) { return $filters; } + /** @var string|int $index */ foreach ($filters as $index => $filterItem) { - if ($this->filterHider->shouldHideFilter( - $landingPage, - $filterItem->getFilter(), - $filterItem - )) { + if ( + $this->filterHider->shouldHideFilter( + $landingPage, + $filterItem->getFilter(), + $filterItem + ) + ) { unset($filters[$index]); } } + $this->activeFiltersExcludingLandingPageFilters = $filters; } + return $this->activeFiltersExcludingLandingPageFilters; } @@ -150,15 +158,19 @@ public function getAllActiveFilters(): array if (!\is_array($filterItems)) { return []; } + // Do not consider category as active - $filterItems = \array_filter($filterItems, function (Item $filter) { - $source = $filter + $filterItems = \array_filter( + $filterItems, + function (Item $filter) { + $source = $filter ->getFilter() ->getFacet() ->getFacetSettings() ->getSource(); - return $source !== SettingsType::SOURCE_CATEGORY; - }); + return $source !== SettingsType::SOURCE_CATEGORY; + } + ); $this->activeFilters = $filterItems; return $this->activeFilters; } @@ -186,6 +198,7 @@ public function isFilterAvailableOnLandingPage(LandingPageInterface $landingPage return true; } } + return false; } } diff --git a/src/Plugin/Block/LayeredNavigation/RenderLayered/RendererPlugin.php b/src/Plugin/Block/LayeredNavigation/RenderLayered/RendererPlugin.php index 257c7a1..5979221 100644 --- a/src/Plugin/Block/LayeredNavigation/RenderLayered/RendererPlugin.php +++ b/src/Plugin/Block/LayeredNavigation/RenderLayered/RendererPlugin.php @@ -8,7 +8,6 @@ /** * Class DefaultRendererPlugin - * @package Tweakwise\AttributeLandingTweakwise\Plugin\Block\LayeredNavigation\RenderLayered */ class RendererPlugin { @@ -27,7 +26,7 @@ public function __construct(FilterManager $filterManager) } /** - * @param Template $renderer used Template here as this class is subscribed multiple times as a plugin + * @param Template $renderer * @param string $result * @param Item $filterItem * @return string diff --git a/src/Plugin/Model/AjaxNavigationResultPlugin.php b/src/Plugin/Model/AjaxNavigationResultPlugin.php index 2779f80..339017a 100644 --- a/src/Plugin/Model/AjaxNavigationResultPlugin.php +++ b/src/Plugin/Model/AjaxNavigationResultPlugin.php @@ -51,16 +51,17 @@ public function __construct( $this->url = $url; } - public function aroundGetResponseUrl(AjaxNavigationResult $ajaxNavigationResult, callable $proceed) { - $type = $this->request->getParam('__tw_ajax_type'); + public function aroundGetResponseUrl(AjaxNavigationResult $ajaxNavigationResult, callable $proceed) + { + $type = $this->request->getParam('__tw_ajax_type'); if ($type === 'landingpage' && $this->landingPageContext->getLandingPage()) { $filters = $this->filterManager->getActiveFiltersExcludingLandingPageFilters(); $url = $this->url->getFilterUrl($filters); return $url; - } + } - return $proceed(); + return $proceed(); } } diff --git a/src/Plugin/PathSlugStrategyPlugin.php b/src/Plugin/PathSlugStrategyPlugin.php index 75d28fb..0ae4114 100644 --- a/src/Plugin/PathSlugStrategyPlugin.php +++ b/src/Plugin/PathSlugStrategyPlugin.php @@ -1,4 +1,5 @@ * @copyright (c) Emico B.V. 2017 @@ -41,7 +42,7 @@ class PathSlugStrategyPlugin * @param LandingPageContext $landingPageContext * @param FilterManager $filterManager * @param UrlFactory $urlFactory - * @param Url $magentoUrl + * @param FilterSlugManager $filterSlugManager */ public function __construct( LandingPageContext $landingPageContext, @@ -133,11 +134,13 @@ public function aroundGetAttributeRemoveUrl( } else { $filters = $this->filterManager->getAllActiveFilters(); } + foreach ($filters as $key => $activeItem) { if ($activeItem === $item) { unset($filters[$key]); } } + return $pathSlugStrategy->buildFilterUrl($request, $filters); } @@ -186,7 +189,8 @@ public function afterGetCategoryFilterSelectUrl( } /** - * @deprecated + * @param PathSlugStrategy $original + * @param string $result * @param MagentoHttpRequest $request * @return string */ diff --git a/src/Plugin/QueryParameterStrategyPlugin.php b/src/Plugin/QueryParameterStrategyPlugin.php index b325de4..4b3ed3b 100644 --- a/src/Plugin/QueryParameterStrategyPlugin.php +++ b/src/Plugin/QueryParameterStrategyPlugin.php @@ -4,6 +4,7 @@ * @author : Edwin Jacobs, email: ejacobs@emico.nl. * @copyright : Copyright Emico B.V. 2020. */ + namespace Tweakwise\AttributeLandingTweakwise\Plugin; use Emico\AttributeLanding\Model\LandingPageContext; @@ -55,6 +56,8 @@ public function __construct( * @param QueryParameterStrategy $original * @param string $result * @return string + * + * phpcs:disable Magento2.Functions.DiscouragedFunction.Discouraged */ public function afterGetCategoryFilterSelectUrl( QueryParameterStrategy $original, @@ -98,8 +101,11 @@ public function afterGetCategoryFilterSelectUrl( /** * {@inheritdoc} */ - public function afterGetAttributeFilters(QueryParameterStrategy $original, array $result, MagentoHttpRequest $request) - { + public function afterGetAttributeFilters( + QueryParameterStrategy $original, + array $result, + MagentoHttpRequest $request + ) { $landingPage = $this->landingPageContext->getLandingPage(); if ($landingPage === null) { return $result; @@ -112,7 +118,7 @@ public function afterGetAttributeFilters(QueryParameterStrategy $original, array if (isset($result[$filter->getFacet()])) { foreach ($result[$filter->getFacet()] as $key => $value) { if ($value == $filter->getValue()) { - unset ($result[$filter->getFacet()][$key]); + unset($result[$filter->getFacet()][$key]); } } } diff --git a/src/Plugin/Seo/FilterHelperPlugin.php b/src/Plugin/Seo/FilterHelperPlugin.php index b19e72f..0e1b4e7 100644 --- a/src/Plugin/Seo/FilterHelperPlugin.php +++ b/src/Plugin/Seo/FilterHelperPlugin.php @@ -1,4 +1,5 @@ * @copyright (c) Emico B.V. 2017 @@ -43,11 +44,13 @@ public function __construct( */ public function aroundShouldPageBeIndexable(FilterHelper $helper, callable $proceed): bool { - if ($this->landingPageContext->isOnLandingPage() && + if ( + $this->landingPageContext->isOnLandingPage() && \count($this->filterManager->getActiveFiltersExcludingLandingPageFilters()) === 0 ) { return true; } + return $proceed(); } @@ -61,6 +64,7 @@ public function aroundGetActiveFilterItems(FilterHelper $helper, callable $proce if ($this->landingPageContext->isOnLandingPage()) { return $this->filterManager->getActiveFiltersExcludingLandingPageFilters(); } + return $proceed(); } diff --git a/src/Plugin/UrlPlugin.php b/src/Plugin/UrlPlugin.php index ac40f9c..48d7fe9 100644 --- a/src/Plugin/UrlPlugin.php +++ b/src/Plugin/UrlPlugin.php @@ -1,4 +1,5 @@ * @copyright (c) Emico B.V. 2017 @@ -78,7 +79,8 @@ public function aroundGetSelectFilter(Url $subject, Closure $proceed, Item $filt return $proceed($filterItem); } - if ($url = $this->filterManager->findLandingPageUrlForFilterItem($filterItem)) { + $url = $this->filterManager->findLandingPageUrlForFilterItem($filterItem); + if ($url) { return '/' . $url; } diff --git a/src/registration.php b/src/registration.php index 86e3b5e..69acde7 100644 --- a/src/registration.php +++ b/src/registration.php @@ -1,4 +1,5 @@ Date: Fri, 29 Mar 2024 12:40:14 +0000 Subject: [PATCH 5/7] chore(release): 4.3.2-beta.1 [skip ci] ## [4.3.2-beta.1](https://github.com/EmicoEcommerce/Magento2AttributeLandingTweakwise/compare/v4.3.1...v4.3.2-beta.1) (2024-03-29) ### Bug Fixes * Applied phpcs and phpmd rules ([e5dc85d](https://github.com/EmicoEcommerce/Magento2AttributeLandingTweakwise/commit/e5dc85d2e763a9c1ce8b48e17e31ebd73f1c672e)) --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..b51a958 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,6 @@ +## [4.3.2-beta.1](https://github.com/EmicoEcommerce/Magento2AttributeLandingTweakwise/compare/v4.3.1...v4.3.2-beta.1) (2024-03-29) + + +### Bug Fixes + +* Applied phpcs and phpmd rules ([e5dc85d](https://github.com/EmicoEcommerce/Magento2AttributeLandingTweakwise/commit/e5dc85d2e763a9c1ce8b48e17e31ebd73f1c672e)) From 9dd9a8d2649bb068eaf293e5fd4a3cdf7c97611a Mon Sep 17 00:00:00 2001 From: ah-net <103565001+ah-net@users.noreply.github.com> Date: Fri, 12 Apr 2024 16:05:29 +0200 Subject: [PATCH 6/7] Fix landingpage filter url (#18) --- src/Plugin/UrlPlugin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Plugin/UrlPlugin.php b/src/Plugin/UrlPlugin.php index 48d7fe9..bb99d49 100644 --- a/src/Plugin/UrlPlugin.php +++ b/src/Plugin/UrlPlugin.php @@ -81,7 +81,7 @@ public function aroundGetSelectFilter(Url $subject, Closure $proceed, Item $filt $url = $this->filterManager->findLandingPageUrlForFilterItem($filterItem); if ($url) { - return '/' . $url; + return $url; } return $proceed($filterItem); From a82dd4048957be88102b6ce51f6f03c0d1b50ccf Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 12 Apr 2024 14:14:44 +0000 Subject: [PATCH 7/7] chore(release): 4.3.2 [skip ci] ## [4.3.2](https://github.com/EmicoEcommerce/Magento2AttributeLandingTweakwise/compare/v4.3.1...v4.3.2) (2024-04-12) ### Bug Fixes * Applied phpcs and phpmd rules ([9336355](https://github.com/EmicoEcommerce/Magento2AttributeLandingTweakwise/commit/9336355a1ab2f003b084caba710cc4dbb5a6cc6c)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b51a958..077db80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [4.3.2](https://github.com/EmicoEcommerce/Magento2AttributeLandingTweakwise/compare/v4.3.1...v4.3.2) (2024-04-12) + + +### Bug Fixes + +* Applied phpcs and phpmd rules ([9336355](https://github.com/EmicoEcommerce/Magento2AttributeLandingTweakwise/commit/9336355a1ab2f003b084caba710cc4dbb5a6cc6c)) + ## [4.3.2-beta.1](https://github.com/EmicoEcommerce/Magento2AttributeLandingTweakwise/compare/v4.3.1...v4.3.2-beta.1) (2024-03-29)