From 142cab22030d507aa11ff7ca2c9df2061de1f7b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Mummert?= Date: Sun, 22 Feb 2026 17:10:39 +0100 Subject: [PATCH] Broaden organization tag enrichment fallbacks for production data variants --- ...rganizationListingTemplateDataListener.php | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/EventListener/OrganizationListingTemplateDataListener.php b/src/EventListener/OrganizationListingTemplateDataListener.php index aa49eed..ee4cdbd 100644 --- a/src/EventListener/OrganizationListingTemplateDataListener.php +++ b/src/EventListener/OrganizationListingTemplateDataListener.php @@ -312,6 +312,22 @@ class OrganizationListingTemplateDataListener )->fetchAllAssociative(); } + if ([] === $rows) { + $rows = $this->connection->executeQuery( + 'SELECT r.pid AS organization_id, r.tag_id, t.tag AS label FROM tl_tags_rel r INNER JOIN tl_tags t ON t.id = r.tag_id WHERE r.field = ? AND r.pid IN (?) ORDER BY r.pid ASC, r.tag_id ASC', + ['tags', $organizationIds], + [ParameterType::STRING, ArrayParameterType::INTEGER], + )->fetchAllAssociative(); + } + + if ([] === $rows) { + $rows = $this->connection->executeQuery( + 'SELECT r.pid AS organization_id, r.tag_id, t.tag AS label FROM tl_tags_rel r INNER JOIN tl_tags t ON t.id = r.tag_id WHERE r.pid IN (?) ORDER BY r.pid ASC, r.tag_id ASC', + [$organizationIds], + [ArrayParameterType::INTEGER], + )->fetchAllAssociative(); + } + $map = []; $seen = []; @@ -361,6 +377,22 @@ class OrganizationListingTemplateDataListener [ParameterType::STRING, ArrayParameterType::STRING], )->fetchAllAssociative(); + if ([] === $rows) { + $rows = $this->connection->executeQuery( + 'SELECT o.title, r.tag_id, t.tag AS label FROM tl_organization o INNER JOIN tl_tags_rel r ON r.pid = o.id AND r.field = ? INNER JOIN tl_tags t ON t.id = r.tag_id WHERE o.title IN (?) ORDER BY o.title ASC, r.tag_id ASC', + ['tags', $titles], + [ParameterType::STRING, ArrayParameterType::STRING], + )->fetchAllAssociative(); + } + + if ([] === $rows) { + $rows = $this->connection->executeQuery( + 'SELECT o.title, r.tag_id, t.tag AS label FROM tl_organization o INNER JOIN tl_tags_rel r ON r.pid = o.id INNER JOIN tl_tags t ON t.id = r.tag_id WHERE o.title IN (?) ORDER BY o.title ASC, r.tag_id ASC', + [$titles], + [ArrayParameterType::STRING], + )->fetchAllAssociative(); + } + $map = []; $seen = [];