MODX - Jak sprawdzić czy MaxiGallery zawiera zdjęcie

Jak sprawdzić czy MaxiGallery zawiera zdjęcie?

Poniższy snippet sprawdza, czy dokument zawierający galerię opartą o MaxiGallery zawiera zdjęcia. Jeśli tak - wyświetli ścieżkę do pierwszego z nich. W przeciwnym wypadku zwróci pusty wynik.

Przydatne kiedy mamy do czynienia z wylistowaniem produktów, czy innych obiektów w których główne zdjęcie brane jest właśnie z MaxiGallery. Nie musimy bawić się w dodatkową TV :)

Snippet stworzyłem na potrzeby twojewczasy.pl. Działa bez zarzutu :)

Snippet

Snippet nazwijmy MaxiGallery_getThumb

<?php
// by pm-fx.com
$table = $modx->getFullTableName( 'maxigallery' );

$query = $modx->db->query('SELECT gal_id,filename,pos
FROM '.$table.'
WHERE gal_id='.$objId.'
ORDER BY pos ASC
LIMIT 0,1');

$row = $modx->db->getRow($query);

$gal_id = $row['gal_id'];
$gal_filename = $row['filename'];

if (!$row) {$output = '';}
else {$output = 'assets/galleries/'.$gal_id.'/tn_'.$gal_filename;}

return $output;
?>

Przykład użycia

Poniżej przykład z użyciem PHx dla stworzenia warunku if/else.

[ *phx:if=`[ [MaxiGallery_getThumb?objId=`[ *id* ]`] ]`:isnot=``:then=`
<img src="[ [MaxiGallery_getThumb?objId=`[ *id* ]`] ]">`* ]
Tags: kod, maxigallery, modx, php, snippet