灯箱与Laravel

时间:2014-07-25 19:18:38

标签: php css laravel lightbox

我正在尝试让Lightbox使用Laravel框架,这有点棘手,我想在这里要求建议。目标是在页面上有一个可点击的图像,该图像又与灯箱的其余图像阵列有一个链接。

这是我的方法:

public function singleproperty(Properties $property)
    {
         $images = File::Files('images/property/' . $property->MLS_No);
         $singleImage = reset($images);
         return View::make('SingleProperty', compact('property', 'singleImage', 'images'));
     }

以下是我的观点:

@foreach($images as $images)
        <a href= "../{{ $images }}" rel='lightbox[image]' >
    {{HTML::image("$singleImage",  $alt='image', array('width' => '400') ) }}</a>

        @endforeach

我在thee方法中使用了reset(),试图只获取目录中的第一个图像,但是获取第一个图像x目录中的图像数量。不是我想要的。此外,我可以删除视图中的foreach循环,只获取第一个图像,但灯箱找不到任何图像,将无法正常工作。

另外,我尝试在CSS包装器上使用一个绝对值,它可以工作,但是它首先得到的是最后一个图像,这也不是我想要的。

我有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

3件事:

  1. @foreach($images as $images)可能有问题,您告诉PHP循环$images,但也将该变量用作该数组中的单个项目。尝试将其更改为@foreach($images as $image)

  2. 您的$singleImage仅包含第一张图片。因此,当你{{HTML::image("$singleImage", ... }}时,无论你如何循环,你都会得到第一张图像。尝试将其更改为{{HTML::image("$image", ... }}

  3. 如果我理解正确,只应显示第一张图片,而其余图片必须在页面中才能使灯箱正常工作。所以我相信你可以将图像放在页面中,但隐藏它们。例如:

  4. 在您看来:

    $firstImage = true;
    
    @foreach($images as $images)
        <a href="../{{ $image }}" rel="lightbox[image]" {{ $firstImage ? 'style="display: none"':'' }}>
            {{HTML::image("$image",  $alt="image", array("width" => 400)) }}
        </a>
        <?php $firstImage = false; ?>
    @endforeach