【问题标题】:lightbox with LaravelLaravel 灯箱
【发布时间】:2014-07-26 19:55:30
【问题描述】:

我正在尝试让灯箱与 Laravel 框架一起使用,这有点棘手,我想在这里寻求建议。我们的目标是在页面上有 1 个可点击的图像,而该图像又具有一个链接,其中包含用于灯箱的其余图像的数组。

这是我的方法:

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

我在你的方法中使用了 reset() 试图只获取目录中的第一个图像,这有效,但获取的第一个图像 x 目录中的图像数量。不是我要找的。我也可以删除视图中的 foreach 循环并仅获取第一张图片,但随后灯箱找不到任何图片并且无法正常工作。

另外,我尝试在 CSS 包装器上使用绝对值,它有效,但它首先获取最后一张图像,这也不是我想要的。

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

【问题讨论】:

    标签: php css laravel lightbox


    【解决方案1】:

    三件事:

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

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

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

    在你看来:

    $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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-21
      • 1970-01-01
      • 2021-01-18
      • 2018-02-27
      • 1970-01-01
      • 2011-01-08
      • 2010-10-15
      • 1970-01-01
      相关资源
      最近更新 更多