From 85265e6e987ec2c5f1566fdd01b22f2d7a3ad89d Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Thu, 23 Jan 2025 16:21:07 -0500 Subject: [PATCH] [5.x] Fix additional url segments matching taxonomy terms (#11383) --- src/Stache/Repositories/TermRepository.php | 4 ++++ tests/Data/Taxonomies/ViewsTest.php | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/Stache/Repositories/TermRepository.php b/src/Stache/Repositories/TermRepository.php index 033d6bad88..2e4fb08ed3 100644 --- a/src/Stache/Repositories/TermRepository.php +++ b/src/Stache/Repositories/TermRepository.php @@ -102,6 +102,10 @@ public function findByUri(string $uri, ?string $site = null): ?Term return null; } + if ($term->uri() !== '/'.$uri) { + return null; + } + return $term->collection($collection); } diff --git a/tests/Data/Taxonomies/ViewsTest.php b/tests/Data/Taxonomies/ViewsTest.php index 812488cb9d..45463a4e48 100644 --- a/tests/Data/Taxonomies/ViewsTest.php +++ b/tests/Data/Taxonomies/ViewsTest.php @@ -87,6 +87,14 @@ public function it_loads_the_term_url_if_the_view_exists() $this->get('/tags/test')->assertOk()->assertSeeText('showing Test'); } + #[Test] + public function it_doesnt_load_the_term_url_if_there_are_additional_segments() + { + $this->viewShouldReturnRaw('tags.show', 'showing {{ title }}'); + + $this->get('/tags/test/extra/segments')->assertNotFound(); + } + #[Test] public function it_loads_the_localized_term_url_if_the_view_exists() {