let user can choose whether to show the description and fix the problem
of category and tag not showing on sitemap
This commit is contained in:
parent
95468cc6c9
commit
99c1f94515
|
@ -143,6 +143,9 @@
|
|||
|
||||
|
||||
/* Gallery Body */
|
||||
div.rgbody{
|
||||
margin-bottom::50px;
|
||||
}
|
||||
.rgbody .gallery-info {
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
|
|
@ -4,6 +4,24 @@ class Admin::GalleriesController < OrbitAdminController
|
|||
before_filter :setup_vars
|
||||
before_action :authenticate_user, :except => "imgs"
|
||||
before_action :log_user_action
|
||||
find_tag = Tag.all.select{|value| value.name==I18n.t('gallery.not_show_desc')}
|
||||
if find_tag.length==0
|
||||
module_app_id = ModuleApp.where(:key=>"gallery").first[:_id]
|
||||
tags = ModuleApp.where(:key=>"gallery").first.tags
|
||||
tag0 = Tag.new(is_default: false,module_app_ids: [module_app_id])
|
||||
tag1 = Tag.new(is_default: false,module_app_ids: [module_app_id])
|
||||
nowlocale = I18n.locale
|
||||
I18n.available_locales.each do |locale|
|
||||
I18n.locale = locale
|
||||
tag0.name = I18n.t('gallery.show_desc')
|
||||
tag1.name = I18n.t('gallery.not_show_desc')
|
||||
end
|
||||
I18n.locale = nowlocale
|
||||
tag0.save
|
||||
tag1.save
|
||||
tags << tag0
|
||||
tags << tag1
|
||||
end
|
||||
def save_crop
|
||||
begin
|
||||
images = AlbumImage.all.select{|value| params[:id].include? value.id.to_s}
|
||||
|
|
|
@ -1,4 +1,22 @@
|
|||
class GalleriesController < ApplicationController
|
||||
find_tag = Tag.all.select{|value| value.name==I18n.t('gallery.not_show_desc')}
|
||||
if find_tag.length==0
|
||||
module_app_id = ModuleApp.where(:key=>"gallery").first[:_id]
|
||||
tags = ModuleApp.where(:key=>"gallery").first.tags
|
||||
tag0 = Tag.new(is_default: false,module_app_ids: [module_app_id])
|
||||
tag1 = Tag.new(is_default: false,module_app_ids: [module_app_id])
|
||||
nowlocale = I18n.locale
|
||||
I18n.available_locales.each do |locale|
|
||||
I18n.locale = locale
|
||||
tag0.name = I18n.t('gallery.show_desc')
|
||||
tag1.name = I18n.t('gallery.not_show_desc')
|
||||
end
|
||||
I18n.locale = nowlocale
|
||||
tag0.save
|
||||
tag1.save
|
||||
tags << tag0
|
||||
tags << tag1
|
||||
end
|
||||
def index
|
||||
albums = Album.filter_by_categories.filter_by_tags.asc(:order)
|
||||
galleries = albums.collect do |a|
|
||||
|
@ -22,6 +40,7 @@ class GalleriesController < ApplicationController
|
|||
def show
|
||||
params = OrbitHelper.params
|
||||
album = Album.find_by_param(params[:uid])
|
||||
flag = show_desc?
|
||||
images = album.album_images.asc(:order).collect do |a|
|
||||
alt_text = (a.description.nil? || a.description == "" ? "gallery image" : a.description)
|
||||
{
|
||||
|
@ -33,7 +52,8 @@ class GalleriesController < ApplicationController
|
|||
end
|
||||
{
|
||||
"images" => images,
|
||||
"data" => {"album-title"=>album.name}
|
||||
"data" => {"album-title"=>album.name,
|
||||
"album-description" => (flag ? "<p><span>#{album.description}</span></p>" : "")}
|
||||
}
|
||||
end
|
||||
|
||||
|
@ -113,5 +133,20 @@ class GalleriesController < ApplicationController
|
|||
|
||||
render :json => {"data" => data}.to_json
|
||||
end
|
||||
|
||||
private
|
||||
def show_desc?
|
||||
tags = OrbitHelper.page_tags if tags.blank?
|
||||
tags = [tags].flatten.uniq
|
||||
flag = true
|
||||
tag_temp = Tag.all.select{|value| tags.include? value.id.to_s}
|
||||
tag_temp_length = 0
|
||||
tag_temp.each do |value|
|
||||
if value.name==I18n.t('gallery.show_desc')
|
||||
flag = true
|
||||
elsif value.name==I18n.t('gallery.not_show_desc')
|
||||
flag = false
|
||||
end
|
||||
end
|
||||
flag
|
||||
end
|
||||
end
|
|
@ -24,5 +24,29 @@ class Album
|
|||
def self.find_by_param(input)
|
||||
self.find_by(uid: input)
|
||||
end
|
||||
|
||||
def self.filter_by_tags(tags=[])
|
||||
tags = OrbitHelper.page_tags if tags.blank?
|
||||
tags = [tags].flatten.uniq
|
||||
if !(tags.include?("all"))
|
||||
tag_temp = Tag.all.select{|value| tags.include? value.id.to_s}
|
||||
tag_temp_length = 0
|
||||
tag_temp.each do |value|
|
||||
if value.name==I18n.t('gallery.show_desc') || value.name==I18n.t('gallery.not_show_desc')
|
||||
tag_temp_length+=1
|
||||
end
|
||||
end
|
||||
if tag_temp_length!=0
|
||||
if (tags.length - tag_temp_length) == 0
|
||||
tags = ['all']
|
||||
end
|
||||
end
|
||||
end
|
||||
if tags.blank? || (tags.include?("all") rescue false)
|
||||
self.all
|
||||
else
|
||||
tags
|
||||
taggings = Tagging.where(:tag_id.in=>tags).map{|item| item.taggable_id}
|
||||
self.where(:id.in=>taggings)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -16,7 +16,7 @@
|
|||
<% if can_edit_or_delete?(album) %>
|
||||
<li><%= link_to (content_tag(:i,"",:class=>"icon-trash danger")), admin_gallery_path(album.id), "data-confirm" => "Are you sure?", :method=>:delete %></li>
|
||||
<% end %>
|
||||
<li class="albumcateg"><%= Category.find(album.category_id).title %></li>
|
||||
<li class="albumcateg"><%= (Category.find(album.category_id).title rescue album.category_id) %></li>
|
||||
</ul>
|
||||
<ul class="albumtag">
|
||||
<% album.tags.each do |tag| %>
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
en:
|
||||
|
||||
gallery:
|
||||
show_desc: Show the album description
|
||||
not_show_desc: Don't show the album description
|
||||
show_original_image: Show the original picture
|
||||
width: Width
|
||||
height: Height
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
zh_tw:
|
||||
|
||||
gallery:
|
||||
show_desc: 顯示相簿描述
|
||||
not_show_desc: 不顯示相簿描述
|
||||
show_original_image: 顯示原始圖片
|
||||
width: 寬
|
||||
height: 高
|
||||
|
|
|
@ -2,7 +2,20 @@ $:.push File.expand_path("../lib", __FILE__)
|
|||
|
||||
# Maintain your gem's version:
|
||||
require "gallery/version"
|
||||
|
||||
app_path = File.expand_path(__dir__)
|
||||
template_path = ENV['PWD'] + '/app/templates'
|
||||
all_template = Dir.glob(template_path+'/*/')
|
||||
puts 'copying module'
|
||||
all_template.each do |folder|
|
||||
if folder.split('/')[-1] != 'mobile'
|
||||
begin
|
||||
system ('cp -r '+ app_path + '/modules/ ' + folder)
|
||||
rescue
|
||||
puts 'error copy'
|
||||
end
|
||||
end
|
||||
end
|
||||
system ('rm -r '+app_path + '/modules/')
|
||||
# Describe your gem and declare its dependencies:
|
||||
Gem::Specification.new do |s|
|
||||
s.name = "gallery"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
require "gallery/engine"
|
||||
|
||||
module Gallery
|
||||
|
||||
end
|
||||
|
|
|
@ -8,6 +8,7 @@ module Gallery
|
|||
# widget_settings []
|
||||
widget_settings [{"data_count"=>10}]
|
||||
models_to_cache [:album,:album_image]
|
||||
taggable "Album"
|
||||
categorizable
|
||||
authorizable
|
||||
frontend_enabled
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
<div class="widget-gallery widget1 no-print">
|
||||
<h3 class="widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<div class="cycle-slideshow widget-content"
|
||||
data-level="0"
|
||||
data-list="images"
|
||||
data-cycle-slides="> a"
|
||||
data-cycle-fx="carousel"
|
||||
data-cycle-timeout="3000"
|
||||
data-cycle-carousel-visible="3"
|
||||
data-cycle-pause-on-hover="true"
|
||||
data-cycle-log="false"
|
||||
data-cycle-carousel-fluid="true">
|
||||
<a class="widget-pic" href="{{link_to_show}}">
|
||||
<img
|
||||
srcset="
|
||||
{{thumb-large-src}} 1024w,
|
||||
{{thumb-src}} 768w"
|
||||
src="{{thumb-src}}"
|
||||
alt="{{alt_title}}"
|
||||
>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,16 @@
|
|||
<div class="widget-gallery widget2 no-print">
|
||||
<h3 class="widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<div class="row widget-content" data-level="0" data-list="images">
|
||||
<a class="widget-pic col-xs-4" href="{{link_to_show}}">
|
||||
<img
|
||||
srcset="
|
||||
{{thumb-large-src}} 1024w,
|
||||
{{thumb-src}} 768w"
|
||||
src="{{thumb-src}}"
|
||||
alt="{{alt_title}}"
|
||||
>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,21 @@
|
|||
<div class="index-gallery index1">
|
||||
<h1 class="index-title">
|
||||
<span>{{page-title}}</span>
|
||||
</h1>
|
||||
<div class="row" data-level="0" data-list="albums">
|
||||
<div class="index-content col-xs-4 col-sm-3">
|
||||
<div class="index-content-inner">
|
||||
<div class="index-pic">
|
||||
<img class="img-thumbnail" src="{{thumb-src}}" alt="{{alt_title}}">
|
||||
</div>
|
||||
<section class="index-part">
|
||||
<h4 class="index-content-title">
|
||||
<a href="{{link_to_show}}">{{album-name}}</a>
|
||||
</h4>
|
||||
<div class="index-img-description">{{album-description}}</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,21 @@
|
|||
<div class="index-gallery index2">
|
||||
<h1 class="index-title">
|
||||
<span>{{page-title}}</span>
|
||||
</h1>
|
||||
<div class="row" data-level="0" data-list="albums">
|
||||
<div class="index-content">
|
||||
<div class="index-content-inner clearfix row">
|
||||
<div class="index-pic col-xs-5 col-sm-2">
|
||||
<img class="index-img" src="{{thumb-src}}" alt="{{alt_title}}">
|
||||
</div>
|
||||
<section class="index-part col-xs-7 col-sm-10">
|
||||
<h4 class="index-content-title">
|
||||
<a href="{{link_to_show}}">{{album-name}}</a>
|
||||
</h4>
|
||||
<div class="index-img-description">{{album-description}}</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,20 @@
|
|||
<div class="index-gallery index1">
|
||||
<h1 class="index-title">
|
||||
<span>{{page-title}}</span>
|
||||
</h1>
|
||||
<div class="row" data-level="0" data-list="albums">
|
||||
<div class="index-content col-xs-4 col-sm-3">
|
||||
<div class="index-content-inner">
|
||||
<div class="index-pic">
|
||||
<img class="img-thumbnail" src="{{thumb-src}}" alt="{{alt_title}}">
|
||||
</div>
|
||||
<section class="index-part">
|
||||
<h4 class="index-content-title">
|
||||
<a href="{{link_to_show}}">{{album-name}}</a>
|
||||
</h4>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,20 @@
|
|||
<div class="index-gallery index2">
|
||||
<h1 class="index-title">
|
||||
<span>{{page-title}}</span>
|
||||
</h1>
|
||||
<div class="row" data-level="0" data-list="albums">
|
||||
<div class="index-content">
|
||||
<div class="index-content-inner clearfix row">
|
||||
<div class="index-pic col-xs-5 col-sm-2">
|
||||
<img class="index-img" src="{{thumb-src}}" alt="{{alt_title}}">
|
||||
</div>
|
||||
<section class="index-part col-xs-7 col-sm-10">
|
||||
<h4 class="index-content-title">
|
||||
<a href="{{link_to_show}}">{{album-name}}</a>
|
||||
</h4>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
"frontend": [
|
||||
{
|
||||
"filename" : "gallery_index1",
|
||||
"name" : {
|
||||
"zh_tw" : "1. 縮圖 ( 相本圖片, 相本說明, 分頁導覽 )",
|
||||
"en" : "1. Thumbnail ( gallery thumbnail, gallery description, page navigation )"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "gallery_index2",
|
||||
"name" : {
|
||||
"zh_tw" : "2. 條列 ( 相本圖片, 相本說明, 分頁導覽 )",
|
||||
"en" : "2. Thumbnail ( gallery thumbnail, gallery description, page navigation )"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "gallery_index3",
|
||||
"name" : {
|
||||
"zh_tw" : "3. 縮圖 ( 相本圖片, 分頁導覽 )",
|
||||
"en" : "3. Thumbnail ( gallery thumbnail, page navigation )"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "gallery_index4",
|
||||
"name" : {
|
||||
"zh_tw" : "4. 條列 ( 相本圖片, 分頁導覽 )",
|
||||
"en" : "4. Thumbnail ( gallery thumbnail, page navigation )"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
}
|
||||
],
|
||||
"widgets" : [
|
||||
{
|
||||
"filename" : "gallery_widget1",
|
||||
"name" : {
|
||||
"zh_tw" : "1. 跑馬燈 ( 模組標題, 圖片 )",
|
||||
"en" : "1. Carousel Effect (widget-title, image)"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "gallery_widget2",
|
||||
"name" : {
|
||||
"zh_tw" : "2. 相本排版",
|
||||
"en" : "2. Thumbnail"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
<div class="show-gallery">
|
||||
<h1 class="show-title">
|
||||
<span>{{album-title}}</span>
|
||||
</h1>
|
||||
{{album-description}}
|
||||
<div data-level="0" data-list="images">
|
||||
<div class="show-content col-xs-6 col-sm-2">
|
||||
<div class="show-content-inner">
|
||||
<div class="show-pic">
|
||||
<a href="{{link_to_show}}">
|
||||
<img class="img" src="{{thumb-src}}" alt="{{alt_title}}">
|
||||
</a>
|
||||
<p class="show-description">{{image-description}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Binary file not shown.
After Width: | Height: | Size: 4.0 KiB |
Loading…
Reference in New Issue