No na můj vkus trochu krkolomné a složité řešení.
Trochu logických úvah:
1. pokud budete mít jen jednu galerii, pak to asi bude dostačujícím řešením, i když ne čisté.
2. pokud bude galerií více, např. 50, pak zbytečně zatížíte SQL server dalšími 50 dotazy, lze řešit pouze jedním.
3. řazením podle
ord budete mít galerie rozházené, za předpokladu, že každá bude v menu jinde.
Celkově řešení je možná pro Vaši potřebu vyhovující, ale s ohledem na variabilitu je naprosto nedostatečné a nevyhovující.
Omezení "zbytečných dotazů", lze například řešit pouze jedním výpisem všech galerií po ukončení cyklu za všemi výpisy. Modul
galimage umí zpracovat i více galerií, ne jen jednu. Parametry jsou v dokumentaci.
Dalším řešením je rozšířit dotaz o obrázky a ty pak zpracovat funkcí
_galleryImage() pro každý obrázek samostatně.
Další chybou je použití
<div id='gallery'>. Způsobí chyby validity stránky, protože identifikátor s názvem gallery může být na stránce jen jeden.