2013-02-27 2 views
0

Я не знаю, где начать отображать файлы из набора файлов, чтобы показать галерею fancybox при щелчке. Я хотел бы, чтобы галерея открыта из ссылки. На клике отобразите галерею, aka изображения, которые имеют одинаковое rel, но установлены для отображения: none (легко контролируется моим css). Я могу сделать это, выбрав одно изображение, но не уверен, как передать изображения из набора файлов в представление (я предполагаю, что мне нужно создать какую-то функцию в моем контроллере, чтобы получить fsID, просто не уверен, как) , Мне просто нужно отобразить первое изображение на странице (миниатюрное изображение), затем щелкнуть ссылку и показать больше полноразмерных изображений.Concrete5 показать fancybox из файла, установленного по ссылке нажмите?

В принципе, если вы знаете Concrete5, я бы хотел, чтобы он был как блок изображения, за исключением того, что администратор может выбрать набор файлов вместо одного изображения.

вот мой view.php

$picture = $this->controller->getPicture(); 
if ($picture) { 
    $bigPicture = $image->getThumbnail($picture,600,600)->src; 
    $smallPicture = $image->getThumbnail($picture,200,200)->src; 

    echo "<img src=" . $smallPicture . " alt=" . $imageTitle . " title=" . $imageTitle . "/>";//thumbnail picture 
echo "<div id=\"image-modal\">"; 
echo "<a href=" . $bigPicture . " class=\"fancybox-thumb\" rel=" . $title . " title=" . $imageTitle . ">{$linkText}</a>";//open fancybox from link 
echo "<div class=\"hiddenGallery\" style=\"display:none;\">";//hidden images 
    echo "<a href=\"images/pattern/t-103-n.jpg\" class=\"fancybox-thumb\" rel=" . $title . " title=" . $imageTitle . ">"; 
echo "<img src=\"images/pattern/t-103-n.jpg\" class=\"fancybox-thumb\" />"; 
echo "</a>"; 
    echo "</div>"; 
echo "</div>"; 
} 

мой controller.php

function getPicture() { 
     if ($this->fIDpicture > 0) { 
      return File::getByID($this->fIDpicture); 
     } 
     return null; 
    } 

мой add.php

$al = Loader::helper('concrete/asset_library'); 
echo $al->image('ccm-b-image', 'fIDpicture', t('Choose File'), 
    $this->controller->getPicture()); 
echo '</div>'; 

Любые и вся помощь очень ценится.

+0

Я обновил свой view.php – user2066695

ответ

0

Ну, две вещи:

  • Вы должны установить class="fancybox-thumb" и атрибут rel к <a> теге !!, а не к <img /> тега.
  • Если вы планируете, чтобы скрыть остальные элементы галереи, не установить свойство display: none; CSS для каждого из них, а завернуть их в скрытом <div> контейнере, как:

    <div style="display: none;"> 
        <a class="fancybox-thumb" rel="gallery" href="images/02.jpg"></a> 
        <a class="fancybox-thumb" rel="gallery" href="images/03.jpg"></a> 
        <a class="fancybox-thumb" rel="gallery" href="images/04.jpg"></a> 
        ... etc 
    </div> 
    

Я использую вынесенный html, что и имеет значение.

+0

Ммм да, я пропустил эти мелкие детали, а я был сосредоточен на том, как получить изображения, чтобы показать в первую очередь. Спасибо за указатели! – user2066695

0

У меня есть некоторый код, который обрабатывает все фоновый (добавлять/редактировать/контроллер) часть этого уравнения: https://github.com/jordanlev/c5_designer_gallery

Вот учебник, который объясняет, как использовать его (с примером FlexSlider, но если вы знаете, как FancyBox работает, то это не должно быть трудно понять, что происходит): http://c5blog.jordanlev.com/blog/2011/12/build-a-slideshow-block/

 Смежные вопросы

  • Нет связанных вопросов^_^