We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 39723
    • 5 Posts
    Здравствуйте.
    Подскажите кто-нибудь, пожалуйста, как правильно вставить кнопочки перехода по фотографиям в галерее Gallery.
    Почему-то код примера из официальной документации у меня не работает.

    Код снипета GalleryItemPagination:

    <?php
    // First instantiate the Gallery package
    $modx->addPackage('gallery',$modx->getOption('gallery.core_path',$config,$modx->getOption('core_path').'components/gallery/').'model/');
     
    $curItem = $modx->getOption('curItem',$scriptProperties,1);
    if ($modx->getOption('checkForRequestVar',$scriptProperties,true)) {
        $getParam = $modx->getOption('getParam',$scriptProperties,'galItem');
        if (!empty($_REQUEST[$getParam])) { $curItem = (int)$_REQUEST[$getParam]; }
    }
    if (empty($curItem)) return '';
     
    $album = $modx->getOption('album',$scriptProperties,1);
    if ($modx->getOption('checkForRequestAlbumVar',$scriptProperties,true)) {
        $albumRequestVar = $modx->getOption('albumRequestVar',$scriptProperties,'galAlbum');
        if (!empty($_REQUEST[$albumRequestVar])) $album = $_REQUEST[$albumRequestVar];
    }
    // We pass the album name/ID to an &album property and find the gallery object
    if (!is_int($album)) {
        $gallery = $modx->getObject('galAlbum',array('name' => $album));
        if ($gallery instanceof galAlbum)
            $album = $gallery->get('id');
    }
     
    $c = $modx->newQuery('galAlbumItem');
    $c->innerJoin('galItem','Item');
    $c->where(
        array(
            'album' => $album,
        )
    );
    $c->select(
        array(
            'galAlbumItem.*',
            'Item.*',
        )
    );
     
    $c->sortby('rank','asc');
     
    $collection = $modx->getCollection('galAlbumItem',$c);
     
    $items = array();
    foreach ($collection as $i) {
        $items[] = $i->toArray();
    }
     
    $continue = true;
    $i = 0; $prev = array(); $cur = array(); $next = array();
    while ($continue) {
        $prev = $cur;
        $cur = $items[$i];
        if ($cur['id'] == $curItem) {
            $next = $items[$i+1];
            $continue = false;
        }
        $i++;
    }
    $first = $items[0];
    $last = $items[count($items)-1];
    $phs['galitem.cur.'] = $cur;
    $phs['galitem.prev.'] = $prev;
    $phs['galitem.next.'] = $next;
    $phs['galitem.first.'] = $first;
    $phs['galitem.last.'] = $last;
     
    $modx->setPlaceholders($phs);
     
    return '';


    Код, который я вставляю в шаблоне страницы:

    [[!Gallery? &album=`1` &useCss=`0` &thumbWidth=`195` &thumbHeight=`140` &containerTpl=`MyGalleryAlbumTpl` &thumbTpl=`MyGalItemThumb` &imageWidth=`800` &imageHeight=`800`]]
    [[!GalleryItemPagination? &album=`1`]]
    [[!If? &subject=`[[!+galitem.prev.id]]`&operator=`isnotempty` &then=`
    <a id="previmg" href="[[++site_url]]?id=[[*id]]&galItem=[[!+galitem.prev.id]]&galAlbum=1&galTag=">previous image</a>`]]
    [[!If? &subject=`[[!+galitem.next.id]]`&operator=`isnotempty` &then=`
    <a id="nextimg" href="[[++site_url]]?id=[[*id]]&galItem=[[!+galitem.next.id]]&galAlbum=1&galTag=">next image</a>`]]
    `]]
    


    При вставке второй части кода вообще выдает 502 ошибку на странице, без навигации галерея работает.
      • 39723
      • 5 Posts
      Update: Согласно документации colorbox кнопочки должны быть по умолчанию. Но у меня они не отображаются. У кого-нибудь есть идеи, почему?
      P.S. И дело не в путях, поскольку кнопка close присутствует )