2010-04-01 94 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++; ?>