Pas besoin d'utiliser <atm-loop> pour parcourir les résultats, ça boucle déjà avec
<atm-result>Citer:
atm-result : Le contenu de ce tag sera lu pour chaque résultat trouvé pour la recherche en cours.
Dans ton cas il est également inutile de passer par du PHP pour spécifier l'identifiant de la catégorie en paramètre, tu peux lui donner directement l'id de la catégorie dans l'attribut.
Pour le javascript, c'est comme si tu voulais en ajouter dans un fichier XHTML, il te faut utiliser les balises <script>. Je n'ai pas touché à ton code JS, si tu galères, tu peux regarder du côté de bibliothèques comme JQuery pour faire ce genre de choses je pense.
Code :
<row>
<block module="pmedia" id="medias" language="fr">
<script type="text/javascript">
var tabImages=new Array("");
</script>
<atm-search what="{Media}" name="groupeLogo">
<atm-search-param search="groupeLogo" type="{Media:Categorie:fieldID}" value="23" mandatory="true"/>
<atm-result search="groupeLogo">
<atm-if what="{Media:Fichier:fileExtension} == 'jpg' || {Media:Fichier:fileExtension} == 'gif' || {Media:Fichier:fileExtension} == 'png'">
<atm-if what="{Media:Fichier:thumbnail}">
<script type="text/javascript">tabImages[{Media:Fichier:filename}]={Media:Fichier:filePath}/{Media:Fichier:filename};</script>
</atm-if>
<atm-if what="!{Media:Fichier:thumbnail}">
<script type="text/javascript">tabImages[{Media:Fichier:filename}]={Media:Fichier:filePath}/{Media:Fichier:filename};</script>
</atm-if>
</atm-if>
</atm-result>
</atm-search>
</block>
</row>