Vadya corp. дело говорит, но мне такая функциональность в данном случае была не нужна, поэтому я сделал проще.
А код сниппета следующий
<?php
if ($_REQUEST['action']=='upload_pics') return;
$align = "mgimage_left";
if ($al == "r")
{
$align = "mgimage_right";
}
if ($al == "none")
{
$align = "mgimage";
}
$parms = array(
"display"=>"embedded",
"embedtype"=>"slimbox",
"pic_query_ids"=>$pid,
"galleryPictureTpl"=>$align,
"manageOuterTpl"=>"",
"managePictureTpl"=>"",
"galleryOuterTpl"=>"@CODE:[+maxigallery.pictures+]"
);
return $modx->runSnippet("MaxiGallery",$parms);
?>
как видно в $parms передается ряд параметров для вызова сниппета MaxiGallery, в данном случае это аналогично [[MaxiGallery?&display=`embedded` &embedtype=`slimbox` &pic_query_ids =`$pid,` ...
Вызов сниппета следующий [[Image?&pid=`ID` &al=`A`]] где ID это ID картинки, а A это необязательный параметр управляющий выравниванием картинки. Он принимает 3 возможных значения -r, l, none. В зависимости от него в параметр galleryPictureTpl подставляются 3 разных чанка (их тоже нужно создать) mgimage_right, mgimage_left, mgimage для выравнивания картинки в тексте.
mgimage_right
<div style="clear: both;"></div>
<a style="float: right; margin: 3px 0 10px 10px;" href="[(base_url)][+maxigallery.path_to_gal+][+maxigallery.picture.filename+]" rel="lightbox[maxigallery]" title="[+maxigallery.picture.title:htmlent+] [+maxigallery.picture.descr:htmlent+]"><img src="[(base_url)][+maxigallery.path_to_gal+]tn_[+maxigallery.picture.filename+]" title="[+maxigallery.picture.title:htmlent+] [+maxigallery.strings.click_to_zoom+]" alt="[+maxigallery.picture.title:htmlent+] [+maxigallery.strings.click_to_zoom+]" border="0" /></a>
Различаются они только аттрибутом float для тега а - у 2х других чанков там сооветсвенно float: left, а при al=`none` у чанка еще и отсутсвует <div style="clear: both;"></div> для случая, когда нужно расположить несколько картинок рядом в виде обычной галереи.
Стоит отметить, что данный способ только ВЫВОДИТ картинки. Для ЗАКАЧКИ картинок на сервер, необходимо в шаблоне делать дополнительный вызов MG с рядом параметров, определяющий размер превьюшек, наносить ли водяные знаки или нет и т.д.
У меня для этого в шаблоне было
[!MaxiGallery? &limit=`0` &max_pic_size=`660` &max_thumb_size=`165x105` &quality_thumb=`90` &thumb_use_watermark=`1` &thumb_watermark_type=`image` &thumb_watermark_img=`assets/snippets/maxigallery/watermark/watermark.png`!]
Параметр limit=`0` выставлен для того, чтобы данный вызов выводил лишь кнопку для закачки изображений, но не выводил саму галерею - у нас она выводится способом, описанным выше.