概述
我正在尝试使用Flickr的api和phpflickr库在我的站点上获取一个图片提要。我可以成功地把照片放到我的网站上,但是它显示了来自每个照片集的所有照片,我希望实现的是显示来自每个照片集的主要照片,然后如果用户点击图片,它就会在一个光盒/阴影盒中显示完整的光集。
我的代码
<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);上面的代码停止了显示来自每个照片集的所有照片,并开始只显示主图像,但它也不再使其余的照片可以被我访问。
我能做些什么让这件事成功吗?我完全没有想法了。
问候和感谢
发布于 2010-04-01 20:35:59
您可能想要做的是首先遍历整个数组,并首先将每个相册分组为一个单独的数组,然后为相册的主照片创建一个特殊的数组。
然后,您可以轻松地遍历数组来显示每个相册,代码变得更加易于维护。
发布于 2010-04-06 10:08:47
我想出了这个解决办法,我想我会把它发出去以防其他人碰到这个问题,
<?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++; ?>https://stackoverflow.com/questions/2561475
复制相似问题