2010-04-01 96 views
1

概述
我想使用Flickr的api和phpflickr库在我的网站上获取照片源。我可以成功地将photoset放到我的网站上,但是它显示了每张照片集中的所有照片,我希望能够实现的是显示每张照片集中的主要照片,然后如果用户点击了图像,它会显示完整的photoset在lightbox/shadowbox中。flickr phpflickr api

我的代码

<div id="images" class="tabnav"> 
        <ul class="items"> 
         <?php $count = 1; ?> 
         <?php foreach ($photosets['photoset'] as $ph_set): ?> 
         <?php $parentID = $ph_set['parent']; ?> 
          <?php $photoset_id = $ph_set['id']; 
          $photos = $f->photosets_getPhotos($photoset_id); 
          foreach ($photos['photoset']['photo'] as $photo): ?> 
          <li> 
          <a rel="shadowbox['<?=$count;?>']" href="<?= $f->buildPhotoURL($photo, 'medium') ?>" title="<?= $photo['title'] ?>"> 
           <img src="<?= $f->buildPhotoURL($photo, 'rectangle') ?>" alt="<?= $photo['title'] ?>" width="210" height="160" title="<?= $photo['title'] ?>" /> 
           <h3><?=$ph_set['title']?></h3> 
           <p><?=$ph_set['description'];?></p> 
           </a> 
          </li> 
          <?php endforeach; ?> 
         <?php $count++; ?> 
         <?php endforeach; ?> 
        </ul> 
       </div> 

另一种尝试

我也曾尝试调用getPhotos功能不同,而不是发送它不带任何参数我把它带参数

$photos = $f->photosets_getPhotos($photoset_id, NULL, NULL, 1, NULL); 

上述代码停止显示所有照片从每张照片集开始只显示主图像,但它也停止让其他照片可以让我看到。

有什么我可以做的,使这项工作?我完全没有想法。

的问候和感谢

回答

0

什么,你可能会想要做的就是通过整个阵列的迭代和第一分组每张专辑到一个单独的阵列,使你的专辑的主打照片特殊的阵列开始。

然后,您可以轻松地遍历数组来显示每个相册,并且代码变得更易于维护。

+0

你是这样做的正确的方法,我的答案是一个黑客,为此我会标记你并给你答案 – 2010-04-06 10:09:58

1

我想出了这个soltion,以为我会张贴万一别人打这个问题,

<?php $count = 1; ?> 
<?php foreach ($photosets['photoset'] as $ph_set): ?> 
<?php $parentID = $ph_set['parent']; ?> 
<li> 
    <?php $photoset_id = $ph_set['id']; 
    $photos = $f->photosets_getPhotos($photoset_id); 
     foreach ($photos['photoset']['photo'] as $photo): ?> 
      <?php if($parentID == $ph_set['parent']): ?> 
      <a rel="lightbox[album<?=$count;?>]" href="<?= $f->buildPhotoURL($photo, 'medium') ?>" title="<?= $photo['title'] ?>"> 
     <?php endif;?> 
     <img src="<?= $f->buildPhotoURL($photo, 'rectangle') ?>" alt="<?= $photo['title'] ?>" width="210" height="160" title="<?= $photo['title'] ?>" /> 
      <h3><?=$ph_set['title']?></h3> 
     <?php if($ph_set['description'] != null) :?> 
      <p><?=$ph_set['description'];?></p> 
     <?php endif; ?> 
     <?php if($parentID == $ph_set['parent']): ?> 
       </a> 
     <?php endif;?> 
<?php endforeach; ?> 
</li> 
<?php $count++; ?>