Fix site_locale_default_head and active for current locale
This commit is contained in:
parent
51f87e7212
commit
48f8fbde7f
|
@ -128,8 +128,8 @@ class ApplicationController < ActionController::Base
|
||||||
# set site if exist or create site
|
# set site if exist or create site
|
||||||
@site = Site.first || Site.create({:valid_locales => [], :in_use_locales => []})
|
@site = Site.first || Site.create({:valid_locales => [], :in_use_locales => []})
|
||||||
session[:site] = @site.id
|
session[:site] = @site.id
|
||||||
@site_in_use_locales = @site.in_use_locales
|
@site_in_use_locales = site_locales_default_head(@site.in_use_locales)
|
||||||
@site_valid_locales = @site.valid_locales
|
@site_valid_locales = site_locales_default_head(@site.valid_locales)
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_current_item
|
def set_current_item
|
||||||
|
@ -164,4 +164,14 @@ class ApplicationController < ActionController::Base
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def site_locales_default_head(locales)
|
||||||
|
if locales[0].eql? I18n.locale.to_s
|
||||||
|
locales
|
||||||
|
else
|
||||||
|
a = Array.new(locales)
|
||||||
|
shift_out = a.delete(I18n.locale.to_s)
|
||||||
|
[shift_out] + a
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
module Admin::AdImagesHelper
|
module Admin::AdImagesHelper
|
||||||
|
|
||||||
def active_when_default_locale_eq locale
|
|
||||||
locale.to_sym == I18n.default_locale ? 'active': ''
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,12 +2,6 @@ module ApplicationHelper
|
||||||
|
|
||||||
FLASH_NOTICE_KEYS = [:error, :notice, :warning]
|
FLASH_NOTICE_KEYS = [:error, :notice, :warning]
|
||||||
|
|
||||||
def site_valid_locales_default_head
|
|
||||||
index = @site_valid_locales.rindex I18n.default_locale.to_s
|
|
||||||
shift_out = @site_valid_locales.shift(index)
|
|
||||||
@site_valid_locales += shift_out
|
|
||||||
end
|
|
||||||
|
|
||||||
def colorize_in_use_locale(locale)
|
def colorize_in_use_locale(locale)
|
||||||
@site_in_use_locales.include?(locale)? 'green' : 'red'
|
@site_in_use_locales.include?(locale)? 'green' : 'red'
|
||||||
end
|
end
|
||||||
|
@ -147,4 +141,8 @@ module ApplicationHelper
|
||||||
javascripts
|
javascripts
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def active_when_current_locale_eq(locale)
|
||||||
|
locale.to_sym == I18n.locale ? 'active': ''
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -130,14 +130,14 @@
|
||||||
<div id="post-body">
|
<div id="post-body">
|
||||||
<div id="post-body-content" class="clear">
|
<div id="post-body-content" class="clear">
|
||||||
<ul class="nav nav-tabs">
|
<ul class="nav nav-tabs">
|
||||||
<% site_valid_locales_default_head.each do |locale|%>
|
<% @site_valid_locales.each do |locale|%>
|
||||||
<%= content_tag :li,link_to(I18nVariable.from_locale(locale),"##{locale}",:data=>{:toggle => "tab"}),:class=> (active_when_default_locale_eq locale) %>
|
<%= content_tag :li,link_to(I18nVariable.from_locale(locale),"##{locale}",:data=>{:toggle => "tab"}),:class=> (active_when_current_locale_eq locale) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
<%= select_tag 'ad_banner[id]',options_from_collection_for_select(AdBanner.all, "id", "title",params[:ad_banner_id]) , :class=>"input-medium", %>
|
<%= select_tag 'ad_banner[id]',options_from_collection_for_select(AdBanner.all, "id", "title",params[:ad_banner_id]) , :class=>"input-medium", %>
|
||||||
<% site_valid_locales_default_head.each do |locale|%>
|
<% @site_valid_locales.each do |locale|%>
|
||||||
<%= content_tag :div,:class => "tab-pane #{active_when_default_locale_eq locale}",:id=>"#{locale}" do%>
|
<%= content_tag :div,:class => "tab-pane #{active_when_current_locale_eq locale}",:id=>"#{locale}" do%>
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<%= f.fields_for :title,@ad_image.title do |f| %>
|
<%= f.fields_for :title,@ad_image.title do |f| %>
|
||||||
<%= f.text_field locale,:class=>"ad_image-title post-title",:placeholder => "輸入標題"%>
|
<%= f.text_field locale,:class=>"ad_image-title post-title",:placeholder => "輸入標題"%>
|
||||||
|
|
|
@ -126,7 +126,7 @@
|
||||||
|
|
||||||
<ul class="nav nav-tabs">
|
<ul class="nav nav-tabs">
|
||||||
<%# @site_valid_locales.each_with_index do |locale, i| %>
|
<%# @site_valid_locales.each_with_index do |locale, i| %>
|
||||||
<% site_valid_locales_default_head.each_with_index do |locale, i| %>
|
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||||
<li <%= ( i == 0 ) ? " class='active'" : '' %>><a data-toggle="tab" href=".<%= locale %>"><%= I18nVariable.from_locale(locale) %></a></li>
|
<li <%= ( i == 0 ) ? " class='active'" : '' %>><a data-toggle="tab" href=".<%= locale %>"><%= I18nVariable.from_locale(locale) %></a></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -134,7 +134,7 @@
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
|
|
||||||
<%# @site_valid_locales.each_with_index do |locale, i| %>
|
<%# @site_valid_locales.each_with_index do |locale, i| %>
|
||||||
<% site_valid_locales_default_head.each_with_index do |locale, i| %>
|
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||||
|
|
||||||
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
|
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
|
||||||
|
|
||||||
|
|
|
@ -126,7 +126,7 @@
|
||||||
|
|
||||||
<ul class="nav nav-tabs">
|
<ul class="nav nav-tabs">
|
||||||
<%# @site_valid_locales.each_with_index do |locale, i| %>
|
<%# @site_valid_locales.each_with_index do |locale, i| %>
|
||||||
<% site_valid_locales_default_head.each_with_index do |locale, i| %>
|
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||||
<li <%= ( i == 0 ) ? " class='active'" : '' %>><a data-toggle="tab" href=".<%= locale %>"><%= I18nVariable.from_locale(locale) %></a></li>
|
<li <%= ( i == 0 ) ? " class='active'" : '' %>><a data-toggle="tab" href=".<%= locale %>"><%= I18nVariable.from_locale(locale) %></a></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -134,7 +134,7 @@
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
|
|
||||||
<%# @site_valid_locales.each_with_index do |locale, i| %>
|
<%# @site_valid_locales.each_with_index do |locale, i| %>
|
||||||
<% site_valid_locales_default_head.each_with_index do |locale, i| %>
|
<% @site_valid_locales.each_with_index do |locale, i| %>
|
||||||
|
|
||||||
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
|
<div class="<%= locale %> fade tab-pane <%= ( i == 0 ) ? "in active" : '' %>">
|
||||||
|
|
||||||
|
|
Reference in New Issue