如何将灯箱风格的图片库添加到炼油厂cms网站



如何将lightbox样式的图像库添加到使用Refinery cms的RubyonRails网站?我希望内容管理器能够将图像上传到页面,但页面会自动显示缩略图和链接,在灯箱风格的窗口中显示全尺寸图像。

第一步是从Github 下载jquery_lightbox

https://github.com/krewenki/jquery-lightbox/archive/master.zip

解压缩并将文件复制到正确的位置

将jquery_lightbox.js复制到您的网站的app/assests/javascripts目录

将所有gif文件从images目录复制到您的网站的app/assets/images目录

将lightbox.css.scss从css目录复制到您的网站的app/assests/stylesheets目录

编辑你的app/assets/javascripts/application.js文件,如下所示:

//= require jquery
//= require jquery_ujs
//= require jquery_lightbox 
//= require_tree .

接下来,请确保您的webiste中包含了refinerycms页面图像,如果不只是取消注释/将以下内容添加到您的Gemfile中:

gem 'refinerycms-page-images', '~> 2.1.0'

然后运行以下命令:

bundle install
rails generate refinery:page_images
rake db:migrate

安装了精炼厂页面图像后,通过名为图像的精炼厂后端编辑页面时,您现在将有一个额外的选项卡,您可以在其中上传一个或多个图像,并将它们与页面关联。为了能够看到图像,我们需要创建一个自定义页面模板。

创建一个新文件:

app/views/refinery/pages/gallery.html.erb

编辑文件并添加以下代码:

<%= render '/refinery/content_page' %>
<section id="gallery">
<% @page.images.each do |image| %>
<div class="gallery_item">
<%= link_to image_tag(image.thumbnail(geometry: '80x80#c')
.png.convert("-background #666666 +polaroid").url),
image.thumbnail(geometry: "600x400").url,
class: 'lightbox',
rel: 'gallery'  %>
</div>
<% end %>
</section>

第一行将显示正常炼油厂页面内容。代码的其余部分循环浏览图像选项卡上的图像,并为每个图像创建一个图像链接。每个链接都有要显示的缩略图,我在示例中使用了一个80px x 80px大小的带有宝丽来框架效果的图像。Refinery使用Dragonfly宝石控制图像,在线查看其他图像选项。链接url指向相同的图像,但应用了不同的大小(600px x 400px)。这段代码的两个关键部分是添加lightbox类rel属性。添加该类将使jquery更容易定位链接,这样我们就可以应用lightbox函数。rel将对图像进行分组,以便lightbox能够使用图像上的下一个和上一个按钮滚动页面上的图像。剖面和剖面只是为了让厨房的造型更简单。

接下来创建以下文件:

app/assets/javascripts/gallery.js.coffee

并添加以下代码:

$ ->
if $('#gallery').length > 0
$('.lightbox').lightbox()

这将针对图像链接并添加灯箱功能。接下来添加以下文件:

app/assets/stylesheets/gallery.css.scss

并添加以下代码:

#gallery {
.gallery_item {
float: left;
width: 100px;
height: 100px;
}
}

现在要创建图库页面,请启动web服务器并浏览到网站后端。转到页面选项卡并创建一个新页面。展开高级选项,然后从"视图模板"下拉列表中选择"库"。最后转到"图像"选项卡并添加一些图像。

最新更新