Browse Source

132-K: exacte vindplaatsen en fix opgezocht; nuance bij 132-A

De &-bug zit op twee plekken met identieke code: custom.favorites_flag.inc
regel 316 (favorieten_horeca) en custom.evenementen_aanmaken.inc regel 306
(mijn_horecagelegenheden). Beide bouwen hun resultaat zelf op uit de view en
lopen dus niet langs custom_services_request_postprocess_alter; categorie is
in beide het enige veld zonder _custom_clean_html.

Bij 132-A toegevoegd dat de Agenda-tab wel scrollt, maar dat de knop Alle
horecagelegenheden op alle vier de tabs over de inhoud heen ligt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 1 day ago
parent
commit
eb11d3fcf1
1 changed files with 44 additions and 0 deletions
  1. 44 0
      TASKS.md

+ 44 - 0
TASKS.md

@@ -383,6 +383,12 @@ Info-tab zijn **telefoonnummer, e-mail en de volledige "over"-tekst** niet te
 bereiken — de regel *Openingstijden …* wordt middendoor gesneden en er is geen
 bereiken — de regel *Openingstijden …* wordt middendoor gesneden en er is geen
 scroll. Op tablet valt het minder op, maar het speelt daar ook.
 scroll. Op tablet valt het minder op, maar het speelt daar ook.
 
 
+Nuance na extra meting: de **Agenda-tab scrollt wél** (die heeft een eigen
+lijstwidget), maar ook daar legt de knop zich over de onderste kaarten heen. Het
+zijn dus twee losse dingen: (1) Info/Links/Bezorgen missen scroll, (2) de knop
+*Alle horecagelegenheden* overlapt op álle vier de tabs de inhoud in plaats van
+eronder mee te schuiven.
+
 Fix: de Column van elke tab scrollbaar maken (let op het recept in `CLAUDE.md`:
 Fix: de Column van elke tab scrollbaar maken (let op het recept in `CLAUDE.md`:
 eerst elke `Expanded` eruit, anders weigert FlutterFlow het).
 eerst elke `Expanded` eruit, anders weigert FlutterFlow het).
 
 
@@ -543,6 +549,44 @@ Nagemeten in de rauwe respons:
 dit endpoint niet in de `$fields_to_clean`-lijst. De views leveren diezelfde
 dit endpoint niet in de `$fields_to_clean`-lijst. De views leveren diezelfde
 categorie wél schoon uit ("Kunst & Cultuur"), dus het is endpoint-specifiek.
 categorie wél schoon uit ("Kunst & Cultuur"), dus het is endpoint-specifiek.
 
 
+**Vindplaats opgezocht op de server (2026-09-22, alleen gelezen).** Het zit op
+**twee** plekken, met identieke code — beide bouwen hun resultaat zélf op uit
+`views_get_view('flutterflowmobiel_establishments')` en draaien dus niet langs de
+opschoning in `custom_services_request_postprocess_alter()`, ondanks wat de
+docblock erboven suggereert:
+
+| bestand | regel | resource |
+|---|---|---|
+| `custom.favorites_flag.inc` | **316** | `favorieten_horeca` (Favorieten tab 3) |
+| `custom.evenementen_aanmaken.inc` | **306** | `mijn_horecagelegenheden` (Mijn Profiel) |
+
+In beide gevallen krijgen `titel`, `adres` en `plaats` netjes
+`_custom_clean_html()` mee en **`categorie` als enige niet**:
+
+```php
+'plaats'    => _custom_clean_html($plaats),
+'logo'      => str_replace('devbob.', '', $logo),
+'categorie' => _custom_parse_komma_to_array($categorie_raw),   // <- hier
+```
+
+Fix, één regel per bestand:
+
+```php
+'categorie' => _custom_clean_html(_custom_parse_komma_to_array($categorie_raw)),
+```
+
+**Decodeer ná het splitsen, niet ervóór.** `_custom_clean_html()` handelt arrays
+recursief af (`custom.module:1860`), dus dit werkt direct op de lijst. Zou je
+`$categorie_raw` eerst decoderen, dan kan een `&#44;` een extra komma opleveren
+en daarmee de split op `', '` stukmaken.
+
+Het tweede geval (`mijn_horecagelegenheden`) is niet visueel bevestigd — daarvoor
+moet je eigen zaak toevallig een `&` in een categorie hebben — maar de code is
+regel voor regel dezelfde, dus fix ze samen.
+
+De volledige path op de server:
+`/data/disk/o1/static/uitgaanskrant/sites/all/modules/custom/`.
+
 Controleer in dezelfde moeite de andere favorieten-resources
 Controleer in dezelfde moeite de andere favorieten-resources
 (`favorieten_agenda.json`, `favorieten_gemeenten.json`) — in de opgevangen
 (`favorieten_agenda.json`, `favorieten_gemeenten.json`) — in de opgevangen
 agenda-respons zaten geen entiteiten, maar daar zat toevallig ook geen `&` in.
 agenda-respons zaten geen entiteiten, maar daar zat toevallig ook geen `&` in.