Wie de openstaande bestellingen doorloopt herkent een artikel sneller aan
het plaatje dan aan de naam. De tabel krijgt daarom een fotokolom
vooraan, met dezelfde voorlaadaanpak als ProductResource: de media-URL's
van de zichtbare pagina worden in een keer opgehaald in plaats van per
rij.
De resolutie zit in imageIdFor() en imageUrlFor(), en dat heeft een
reden. Op het tabblad gegroepeerd per productgroep staat in de kolom
product_id geen product-id maar de product_group_id, een alias uit de
subquery in ListOpenOrderProducts. Wie daar $record->product leest krijgt
het product dat toevallig dat id draagt, en dus de foto van een heel
ander artikel. De kolom splitst daarom op het actieve tabblad.
getSingleMedia() geeft een echt medialibrary-item terug maar laat een
niet-numerieke string ongewijzigd door als URL. Allebei worden nu
afgehandeld.
Die productgroep-tab is niet via de tabel te toetsen: de subquery
gebruikt JSON_UNQUOTE/JSON_EXTRACT en de suite draait op SQLite. Die twee
toetsen roepen imageUrlFor() daarom rechtstreeks aan, met een rij in
precies de vorm die de subquery oplevert.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wwq9UAKPRWrQzAcnXHP6pe