widget & frontend field
This commit is contained in:
parent
c0cac812c5
commit
d5c55c9697
|
@ -11,6 +11,11 @@ class Admin::ModuleAppsController < ApplicationController
|
|||
|
||||
def reload_frontend_pages
|
||||
@module_app = ModuleApp.find(params[:id])
|
||||
|
||||
@frontend_path = @module_app.widgets.keys[0] if ( !@module_app.widgets.blank? && @module_app.widgets[0].blank? )
|
||||
|
||||
@frontend_style = @module_app.widgets[@frontend_path] if ( !@frontend_path.blank? )
|
||||
|
||||
case @module_app.key
|
||||
when 'announcement'
|
||||
@categories = BulletinCategory.all
|
||||
|
|
|
@ -49,6 +49,10 @@ class Admin::PagePartsController < ApplicationController
|
|||
|
||||
def update
|
||||
@part = PagePart.find(params[:id])
|
||||
|
||||
params[:page_part][:widget_field] = params[:page_part][:widget_field].zip( params[:page_part][:widget_field_type] )
|
||||
params[:page_part][:widget_field_type] = nil
|
||||
|
||||
if @part.update_attributes(params[:page_part])
|
||||
set_children_sub_menu(@part) if @part.public_r_tag && @part.public_r_tag.eql?('sub_menu')
|
||||
flash.now[:notice] = t('admin.update_success_content')
|
||||
|
@ -74,11 +78,12 @@ class Admin::PagePartsController < ApplicationController
|
|||
def reload_widgets
|
||||
@module_app = ModuleApp.find(params[:id])
|
||||
|
||||
@widget_path = @module_app.widgets.keys[0]
|
||||
@widget_style = @module_app.widgets[@widget_path]
|
||||
@widget_path = @module_app.widgets.keys[0] if ( @module_app.widgets[0].blank? )
|
||||
|
||||
@widget_style = @module_app.widgets[@widget_path] if ( !@widget_path.blank? )
|
||||
|
||||
case @module_app.key
|
||||
when 'announcement'
|
||||
# @widget_style = @module_app.widgets['index']
|
||||
@categories = BulletinCategory.all
|
||||
@tags = AnnouncementTag.all
|
||||
when 'news'
|
||||
|
|
|
@ -28,10 +28,19 @@ class Admin::PagesController < ApplicationController
|
|||
def edit
|
||||
@item = Page.find(params[:id])
|
||||
@apps = ModuleApp.excludes(app_pages: nil).entries
|
||||
|
||||
@module_apps = ModuleApp.excludes(widgets: nil).where(enable_frontend: true).order_by(:title, :asc)
|
||||
|
||||
@designs = Design.all.entries
|
||||
@design = @item.design ? @item.design : @designs.first
|
||||
@app_frontend_urls = @item.module_app.app_pages if @item.module_app
|
||||
|
||||
if @item.module_app
|
||||
@module_app = @item.module_app
|
||||
|
||||
@frontend_path = @item.app_frontend_url ? @item.app_frontend_url : @module_app.widgets.keys[0]
|
||||
@frontend_style = @module_app.widgets[@frontend_path] if !@frontend_path.blank? && !@module_app.widgets.blank?
|
||||
|
||||
case @item.module_app.key
|
||||
when 'announcement'
|
||||
@categories = BulletinCategory.all
|
||||
|
@ -45,6 +54,7 @@ class Admin::PagesController < ApplicationController
|
|||
end
|
||||
else
|
||||
@categories = nil
|
||||
@module_app = @module_apps[0]
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -79,6 +89,9 @@ class Admin::PagesController < ApplicationController
|
|||
@item.page_contexts.build(:create_user_id => current_user.id, :update_user_id => current_user.id )
|
||||
end
|
||||
|
||||
params[:page][:frontend_field] = params[:page][:frontend_field].zip( params[:page][:frontend_field_type] )
|
||||
params[:page][:frontend_field_type] = nil
|
||||
|
||||
if @item.update_attributes(params[:page])
|
||||
flash[:notice] = t('admin.update_success_page')
|
||||
respond_to do |format|
|
||||
|
|
|
@ -10,6 +10,10 @@ class Page < Item
|
|||
field :tag
|
||||
field :view_count, :type => Integer, :default => 0
|
||||
|
||||
field :frontend_style
|
||||
field :frontend_field , :type => Array
|
||||
field :frontend_data_count
|
||||
|
||||
belongs_to :design
|
||||
belongs_to :module_app
|
||||
has_one :title, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
|
||||
|
@ -18,7 +22,7 @@ class Page < Item
|
|||
has_many :page_metas, :autosave => true, :dependent => :destroy
|
||||
accepts_nested_attributes_for :page_parts, :allow_destroy => true
|
||||
|
||||
before_save :create_parts, :set_key
|
||||
before_save :create_parts, :set_key , :delete_empty_frontend_field
|
||||
|
||||
# embeds_many :custom_images, :class_name => 'Image', as: :design_image
|
||||
|
||||
|
@ -53,4 +57,18 @@ class Page < Item
|
|||
end
|
||||
end
|
||||
|
||||
def delete_empty_frontend_field
|
||||
|
||||
if self.frontend_field
|
||||
self.frontend_field.reject! { |ff| (ff[0].blank? || ff[1].blank?) }
|
||||
# self.frontend_field.each do | ff |
|
||||
# if ff[0].blank? || ff[1].blank?
|
||||
# self.frontend_field.delete("") if self.frontend_field
|
||||
# self.frontend_field.delete(ff)
|
||||
# end
|
||||
# end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -10,6 +10,7 @@ class PagePart
|
|||
field :public_r_tag_object_id, :default => nil
|
||||
field :public_r_tag_option, :default => nil
|
||||
field :widget_path
|
||||
|
||||
field :widget_style
|
||||
field :widget_field , :type => Array
|
||||
field :widget_data_count
|
||||
|
@ -20,7 +21,7 @@ class PagePart
|
|||
belongs_to :page
|
||||
belongs_to :module_app
|
||||
|
||||
before_save :set_key
|
||||
before_save :set_key, :delete_empty_widget_field
|
||||
|
||||
def i18n_variable
|
||||
@i18n_variable ||= I18nVariable.first(:conditions => {:key => 'i18n_variable', :language_value_id => self.id, :language_value_type => self.class}) rescue nil
|
||||
|
@ -37,4 +38,12 @@ class PagePart
|
|||
i18n_variable.key = 'i18n_variable' if i18n_variable && (i18n_variable.key.blank? rescue true)
|
||||
end
|
||||
|
||||
def delete_empty_widget_field
|
||||
|
||||
if self.widget_field
|
||||
self.widget_field.reject! { |wf| (wf[0].blank? || wf[1].blank?) }
|
||||
end
|
||||
# self.widget_field.delete("") if self.widget_field
|
||||
end
|
||||
|
||||
end
|
|
@ -1,3 +1,5 @@
|
|||
$('#app_page_url').html("<%= escape_javascript(select 'page', 'app_frontend_url', @module_app.app_pages) %>");
|
||||
$('#app_page_frontend_style').html("<%= escape_javascript(select 'page', 'frontend_style', @module_app.widgets[@frontend_path]) if !@frontend_path.blank? %>");
|
||||
$('#app_page_category').html("<%= j (select 'page', 'category', @categories.collect{|category| [category.i18n_variable[I18n.locale], category.id]}, {:include_blank => true}) if @categories %>");
|
||||
$('#app_page_tag').html("<%= j (select 'page', 'tag', @tags.collect{|tag| [tag[I18n.locale], tag.id]}, {:include_blank => true}) if @tags %>");
|
||||
$('#app_page_frontend_field').html("<%= j render '../admin/pages/frontend_fields' %>")
|
|
@ -20,7 +20,6 @@
|
|||
|
||||
<span id='widget_style_list'>
|
||||
<%= f.select :widget_style, @widget_style, :selected => @part.widget_style %>
|
||||
<%#= render 'widget_styles' %>
|
||||
</span>
|
||||
|
||||
:
|
||||
|
@ -35,13 +34,13 @@
|
|||
|
||||
<span id='widget_field'>
|
||||
|
||||
<%= f.label :widget_field %>
|
||||
<%= render 'widget_fields' %>
|
||||
|
||||
<% @module_app.widget_fields.each_with_index do |widget_field, i| %>
|
||||
<%= i+1 %>
|
||||
<%= select_tag "page_part[widget_field][]", options_for_select(@module_app.widget_fields.collect{|widget_field| [widget_field.humanize, widget_field]}, (@part.widget_field ? @part.widget_field[i] : nil) ), :include_blank => true %> <br />
|
||||
|
||||
<% end %>
|
||||
<%#= f.label :widget_field %>
|
||||
<%# @module_app.widget_fields.each_with_index do |widget_field, i| %>
|
||||
<%#= i+1 %>
|
||||
<%#= select_tag "page_part[widget_field][]", options_for_select(@module_app.widget_fields.collect{|widget_field| [widget_field.humanize, widget_field]}, (@part.widget_field ? @part.widget_field[i] : nil) ), :include_blank => true %> <br />
|
||||
<%# end %>
|
||||
|
||||
<%#= select_tag "page_part[widget_field][]", options_for_select(@module_app.widget_fields.collect{|widget_field| [widget_field.humanize, widget_field]}, @part.widget_field.collect{|widget_field| widget_field}), {:multiple => :multiple, :size => 6} %>
|
||||
</span>
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
|
||||
<% if (@module_app && @module_app.widget_fields) %>
|
||||
|
||||
<%= label_tag('widget_field') %>
|
||||
|
||||
<% @module_app.widget_fields.each_with_index do |widget_field, i| %>
|
||||
<%= i+1 %>
|
||||
<%= select_tag "page_part[widget_field][]", options_for_select(@module_app.widget_fields.collect{|widget_field| [widget_field.humanize, widget_field]}, (@part[:widget_field][i][0] if (@part && !@part[:widget_field].blank? && !@part[:widget_field][i].blank?)) ), :include_blank => true %>
|
||||
<%= select_tag "page_part[widget_field_type][]", options_for_select(LIST[:widget_field_type].collect{|widget_field| [widget_field.humanize, widget_field]}, (@part[:widget_field][i][1] if (@part && !@part[:widget_field].blank? && !@part[:widget_field][i].blank?)) ), :include_blank => true %> <br />
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
|
@ -1 +0,0 @@
|
|||
<%= select 'page_part', 'widget_style', @widget_style, :selected => (@part ? @part[:widget_style] : nil), :include_blank => true if @widget_style && @widget_style.size > 0 %>
|
|
@ -1,4 +1,5 @@
|
|||
$('#widget_list select').html("<%= j options_for_select(@module_app.widgets.collect{|k,v| k}) %>")
|
||||
$('#widget_style_list select').html("<%= j options_for_select(@module_app.widgets[@widget_path]) %>")
|
||||
$('#widget_style_list select').html("<%= j options_for_select( @module_app.widgets[@widget_path] ) if !@widget_path.blank? %>")
|
||||
$('#widget_field').html("<%= j render 'widget_fields' %>")
|
||||
$('#widget_category').html("<%= j render 'widget_categories' %>")
|
||||
$('#widget_tag').html("<%= j render 'widget_tags' %>")
|
|
@ -42,15 +42,27 @@
|
|||
<span id="app_page_url">
|
||||
<%= select('page','app_frontend_url', @app_frontend_urls, :selected => @item.app_frontend_url ) rescue ''%>
|
||||
</span>
|
||||
<span id="app_page_frontend_style">
|
||||
<%= select('page','frontend_style', @frontend_style, :selected => @item[:frontend_style], :include_blank => true ) rescue ''%>
|
||||
</span>
|
||||
<span id="app_page_category">
|
||||
<%= select('page','category', @categories.collect{|category| [category.i18n_variable[I18n.locale], category.id]}, :selected => @item[:category], :include_blank => true ) rescue ''%>
|
||||
</span>
|
||||
<span id="app_page_tag">
|
||||
<%= select('page','tag', @tags.collect{|tag| [tag[I18n.locale], tag.id]}, :selected => @item[:tag], :include_blank => true ) rescue ''%>
|
||||
</span>
|
||||
<span id="app_page_frontend_field">
|
||||
<%= render 'frontend_fields' %>
|
||||
</span>
|
||||
<!-- <p class="help-block">In addition to freeform text, any HTML5 text-based input appears like so.</p> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<%= f.label :frontend_data_count, t('admin.frontend_data_count'), :class => 'control-label' %>
|
||||
<div class="controls">
|
||||
<%= f.text_field :frontend_data_count %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<%= f.label :is_published, "#{t('admin.is_published')} ?", :class => 'control-label' %>
|
||||
<div class="controls">
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
<% if (@module_app && @module_app.widget_fields) %>
|
||||
<%= label_tag('frontend_field & frontend_field_type') %>
|
||||
<% @module_app.widget_fields.each_with_index do |frontend_field, i| %>
|
||||
<%= i+1 %>
|
||||
<%= select_tag "page[frontend_field][]", options_for_select(@module_app.widget_fields.collect{|frontend_field| [frontend_field.humanize, frontend_field]}, (@item[:frontend_field][i][0] if (@item && !@item[:frontend_field].blank? && !@item[:frontend_field][i].blank?)) ), :include_blank => true %>
|
||||
<%= select_tag "page[frontend_field_type][]", options_for_select(LIST[:widget_field_type].collect{|frontend_field| [frontend_field.humanize, frontend_field]}, (@item[:frontend_field][i][1] if (@item && !@item[:frontend_field].blank? && !@item[:frontend_field][i].blank?)) ), :include_blank => true %> <br />
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
|
|
@ -15,3 +15,26 @@ page_part_kinds:
|
|||
- text
|
||||
- public_r_tag
|
||||
- module_widget
|
||||
|
||||
widget_field:
|
||||
- title
|
||||
- category
|
||||
- image
|
||||
- date
|
||||
- subtitle
|
||||
- content
|
||||
- link
|
||||
- file
|
||||
|
||||
widget_field_type:
|
||||
- title
|
||||
- category
|
||||
- img
|
||||
- date
|
||||
- text
|
||||
- link
|
||||
- file
|
||||
- status
|
||||
- tag
|
||||
- viewcount
|
||||
- host
|
|
@ -10,16 +10,26 @@ class Panel::Announcement::FrontEnd::BulletinsController < OrbitWidgetController
|
|||
|
||||
def index
|
||||
|
||||
@item = Page.find(params[:page_id])
|
||||
|
||||
if @item.frontend_data_count
|
||||
@page_num = @item.frontend_data_count
|
||||
else
|
||||
@page_num = 10
|
||||
end
|
||||
|
||||
@frontend_style = @item.frontend_style
|
||||
|
||||
date_now = Time.now
|
||||
if !params[:category_id].blank?
|
||||
@bulletins = Bulletin.can_display.where(:bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(10)
|
||||
@bulletins = Bulletin.can_display.where(:bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(@page_num)
|
||||
@current_category = BulletinCategory.from_id(params[:category_id]) rescue nil
|
||||
elsif !params[:tag_id].blank?
|
||||
@tag = AnnouncementTag.find(params[:tag_id]) rescue nil
|
||||
@tag = AnnouncementTag.where(key: params[:tag_id])[0] unless @tag
|
||||
@bulletins = @tag.bulletins.can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(10)
|
||||
@bulletins = @tag.bulletins.can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(@page_num)
|
||||
else
|
||||
@bulletins = Bulletin.can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(10)
|
||||
@bulletins = Bulletin.can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(@page_num)
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -13,8 +13,6 @@ class Bulletin
|
|||
has_one :text, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
|
||||
has_and_belongs_to_many :tags, :class_name => "AnnouncementTag"
|
||||
|
||||
field :title2, localize: true
|
||||
|
||||
field :postdate , :type => DateTime
|
||||
field :deadline , :type => DateTime
|
||||
# field :url
|
||||
|
|
|
@ -148,12 +148,6 @@
|
|||
<% end %>
|
||||
</div>
|
||||
|
||||
<%= f.label :title2 %>
|
||||
<%= f.fields_for :title2_translations do |f| %>
|
||||
<%= I18nVariable.from_locale(locale) %>
|
||||
<%= f.text_field locale, :class=>'post-title', :value => (@bulletin.title2_translations[locale] rescue nil) %>
|
||||
<% end %>
|
||||
|
||||
<div class="editor">
|
||||
<%= f.label :subtitle %>
|
||||
<%= f.fields_for :subtitle, (@bulletin.new_record? ? @bulletin.build_subtitle : @bulletin.subtitle ) do |f| %>
|
||||
|
|
|
@ -8,6 +8,230 @@
|
|||
<h1 class="h1"><%= t('announcement.announcement') %></h1>
|
||||
<% end %>
|
||||
|
||||
<% if !@item.frontend_field.blank? %>
|
||||
|
||||
<% if @frontend_style == '1' %>
|
||||
|
||||
<div class="news news1">
|
||||
<table class="newstb" border="0" cellpadding="0" cellspacing="0" >
|
||||
<thead>
|
||||
<tr>
|
||||
<% @item.frontend_field.each do |ff| %>
|
||||
<th><span class="<%= ff[1] %>"><%= t("announcement.bulletin.#{ff[0]}") if !ff[0].blank? %></span></th>
|
||||
<% end %>
|
||||
</tr>
|
||||
</thead>
|
||||
<% @bulletins.each do |post| %>
|
||||
<% @item.frontend_field.each do |ff| %>
|
||||
<tr class="<%= cycle('odd', '')%>">
|
||||
<td>
|
||||
<span class="<%= ff[1] %>">
|
||||
<% if ff[1] == 'title' %>
|
||||
<%= link_to post.send("#{ff[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif ff[1] == 'date' %>
|
||||
<%= display_date(post.send(ff[0])) %>
|
||||
<% elsif ff[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<% elsif ff[1] == 'img' %>
|
||||
<div class="newsimg app-pic"><%= image_tag(post.image.url) %></div>
|
||||
<% elsif ff[1] == 'text' %>
|
||||
<%#= post.send("#{ff[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{ff[0]}")[I18n.locale].html_safe %>
|
||||
<% elsif ff[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
<% end %>
|
||||
<% if post.is_hot? %>
|
||||
<span class="hot"><%= t(:hot) %></span>
|
||||
<% end %>
|
||||
<% elsif ff[1] == 'link' %>
|
||||
<% elsif ff[1] == 'file' %>
|
||||
<% elsif ff[1] == 'tag' %>
|
||||
<% elsif ff[1] == 'viewcount' %>
|
||||
<%= dislpay_view_count(post) %>
|
||||
<% elsif ff[1] == 'host' %>
|
||||
<%= User.from_id(post.update_user_id).name rescue ''%>
|
||||
<% end %>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<% elsif @frontend_style == '2' %>
|
||||
|
||||
<div class="news news2">
|
||||
<ul class="newslist">
|
||||
<% @bulletins.each do |post| %>
|
||||
<li class="<%= cycle('odd', '')%>">
|
||||
<div class="newsimg app-pic"><%= image_tag(post.image.url) %></div>
|
||||
|
||||
<% @item.frontend_field.each do |ff| %>
|
||||
<span class="<%= ff[1] %>">
|
||||
<% if ff[1] == 'title' %>
|
||||
<%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id) %>
|
||||
<% elsif ff[1] == 'date' %>
|
||||
<%= display_date(post.send(ff[0])) %>
|
||||
<% elsif ff[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<% elsif ff[1] == 'text' %>
|
||||
<%#= post.send("#{ff[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{ff[0]}")[I18n.locale].html_safe %>
|
||||
<% elsif ff[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
<% end %>
|
||||
<% if post.is_hot? %>
|
||||
<span class="hot"><%= t(:hot) %></span>
|
||||
<% end %>
|
||||
<% elsif ff[1] == 'link' %>
|
||||
<% elsif ff[1] == 'file' %>
|
||||
<% elsif ff[1] == 'tag' %>
|
||||
<% elsif ff[1] == 'viewcount' %>
|
||||
<%= dislpay_view_count(post) %>
|
||||
<% elsif ff[1] == 'host' %>
|
||||
<%= User.from_id(post.update_user_id).name rescue ''%>
|
||||
<% end %>
|
||||
</span>
|
||||
<% end %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<% elsif @frontend_style == '3' %>
|
||||
|
||||
<div class="news news3">
|
||||
<ul class="newslist">
|
||||
|
||||
<% @bulletins.each do |post| %>
|
||||
<li class="<%= cycle('odd', '')%>">
|
||||
<div class="newsimg app-pic"><%= image_tag(post.image.url) %></div>
|
||||
<div class="wrap">
|
||||
<% @item.frontend_field.each do |ff| %>
|
||||
<span class="<%= ff[1] %>">
|
||||
<% if ff[1] == 'title' %>
|
||||
<%= link_to post.send("#{ff[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif ff[1] == 'date' %>
|
||||
<%= display_date(post.send(ff[0])) %>
|
||||
<% elsif ff[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<% elsif ff[1] == 'text' %>
|
||||
<%#= post.send("#{ff[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{ff[0]}")[I18n.locale].html_safe %>
|
||||
<% elsif ff[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
<% end %>
|
||||
<% if post.is_hot? %>
|
||||
<span class="hot"><%= t(:hot) %></span>
|
||||
<% end %>
|
||||
<% elsif ff[1] == 'link' %>
|
||||
<% elsif ff[1] == 'file' %>
|
||||
<% elsif ff[1] == 'tag' %>
|
||||
<% elsif ff[1] == 'viewcount' %>
|
||||
<%= dislpay_view_count(post) %>
|
||||
<% elsif ff[1] == 'host' %>
|
||||
<%= User.from_id(post.update_user_id).name rescue ''%>
|
||||
<% end %>
|
||||
</span>
|
||||
<% end %>
|
||||
</div>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
<% elsif @frontend_style == '4' %>
|
||||
|
||||
<div class="news news4">
|
||||
<ul class="newslist">
|
||||
|
||||
<% @bulletins.each do |post| %>
|
||||
<li class="<%= cycle('odd', '')%>">
|
||||
<div class="newsimg app-pic"><%= image_tag(post.image.url) %></div>
|
||||
<div class="wrap">
|
||||
<% @item.frontend_field.each do |ff| %>
|
||||
<span class="<%= ff[1] %>">
|
||||
<% if ff[1] == 'title' %>
|
||||
<%= link_to post.send("#{ff[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif ff[1] == 'date' %>
|
||||
<%= display_date(post.send(ff[0])) %>
|
||||
<% elsif ff[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<% elsif ff[1] == 'text' %>
|
||||
<%#= post.send("#{ff[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{ff[0]}")[I18n.locale].html_safe %>
|
||||
<% elsif ff[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
<% end %>
|
||||
<% if post.is_hot? %>
|
||||
<span class="hot"><%= t(:hot) %></span>
|
||||
<% end %>
|
||||
<% elsif ff[1] == 'link' %>
|
||||
<% elsif ff[1] == 'file' %>
|
||||
<% elsif ff[1] == 'tag' %>
|
||||
<% elsif ff[1] == 'viewcount' %>
|
||||
<%= dislpay_view_count(post) %>
|
||||
<% elsif ff[1] == 'host' %>
|
||||
<%= User.from_id(post.update_user_id).name rescue ''%>
|
||||
<% end %>
|
||||
</span>
|
||||
<% end %>
|
||||
</div>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
<% elsif @frontend_style == '5' %>
|
||||
|
||||
<div class="news news5">
|
||||
<div class="img app-pic"><%= image_tag(@bulletins.first.image.url) %></div>
|
||||
<ul class="newslist">
|
||||
<% @bulletins.each do |post| %>
|
||||
<li class="<%= cycle('odd', '')%>">
|
||||
<% @item.frontend_field.each do |ff| %>
|
||||
<span class="<%= ff[1] %>">
|
||||
<% if ff[1] == 'title' %>
|
||||
<%= link_to post.send("#{ff[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif ff[1] == 'date' %>
|
||||
<%= display_date(post.send(ff[0])) %>
|
||||
<% elsif ff[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{ff[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<% elsif ff[1] == 'text' %>
|
||||
<%#= post.send("#{ff[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{ff[0]}")[I18n.locale].html_safe %>
|
||||
<% elsif ff[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
<% end %>
|
||||
<% if post.is_hot? %>
|
||||
<span class="hot"><%= t(:hot) %></span>
|
||||
<% end %>
|
||||
<% elsif ff[1] == 'link' %>
|
||||
<% elsif ff[1] == 'file' %>
|
||||
<% elsif ff[1] == 'tag' %>
|
||||
<% elsif ff[1] == 'viewcount' %>
|
||||
<%= dislpay_view_count(post) %>
|
||||
<% elsif ff[1] == 'host' %>
|
||||
<%= User.from_id(post.update_user_id).name rescue ''%>
|
||||
<% end %>
|
||||
</span>
|
||||
<% end %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
<% else %>
|
||||
|
||||
<table class="table table-bordered">
|
||||
<tr>
|
||||
|
@ -29,5 +253,7 @@
|
|||
|
||||
</table>
|
||||
|
||||
<% end %>
|
||||
|
||||
<%= paginate @bulletins, :param_name => :page_main, :params => {:inner => 'false'} %>
|
||||
|
||||
|
|
|
@ -3,41 +3,56 @@
|
|||
<h1 class="h1"><%= @title %></h1>
|
||||
<% end %>
|
||||
|
||||
<% if !@widget_fields.blank? %>
|
||||
|
||||
<% if @widget_style == '1' %>
|
||||
|
||||
<p> ========== 1 ========== </p>
|
||||
|
||||
<div class="news news1">
|
||||
<ul class="newslist">
|
||||
|
||||
<% @bulletins.each_with_index do |post, i| %>
|
||||
|
||||
<li <%= ( (i+1) % 2 ) == 0 ? "class='odd'" : '' %> >
|
||||
<table class="newstb" border="0" cellpadding="0" cellspacing="0" >
|
||||
<thead>
|
||||
<tr>
|
||||
<% @widget_fields.each do |wf| %>
|
||||
|
||||
<% if wf == 'title' %>
|
||||
<%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id), :class=>"newstitle" %>
|
||||
<% elsif wf == 'date' %>
|
||||
<span class="date"><%= display_date(post.postdate) %></span>
|
||||
<% elsif wf == 'status' %>
|
||||
<th><span class="<%= wf[1] %>"><%= t("announcement.bulletin.#{wf[0]}") if !wf[0].blank? %></span></th>
|
||||
<% end %>
|
||||
</tr>
|
||||
</thead>
|
||||
<% @bulletins.each do |post| %>
|
||||
<% @widget_fields.each do |wf| %>
|
||||
<tr class="<%= cycle('odd', '')%>">
|
||||
<td>
|
||||
<span class="<%= wf[1] %>">
|
||||
<% if wf[1] == 'title' %>
|
||||
<%= link_to post.send("#{wf[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif wf[1] == 'date' %>
|
||||
<%= display_date(post.send(wf[0])) %>
|
||||
<% elsif wf[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<% elsif wf[1] == 'img' %>
|
||||
<div class="newsimg app-pic"><%= image_tag(post.send(wf[0]).url) %></div>
|
||||
<% elsif wf[1] == 'text' %>
|
||||
<%#= post.send("#{wf[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{wf[0]}")[I18n.locale].html_safe %>
|
||||
<% elsif wf[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
<% end %>
|
||||
<% if post.is_hot? %>
|
||||
<span class="hot"><%= t(:hot) %></span>
|
||||
<% end %>
|
||||
<% elsif wf == 'subtitle' %>
|
||||
<span class="newsintro"><%= post.subtitle[I18n.locale].html_safe %></span>
|
||||
<% elsif wf == 'image' %>
|
||||
<div class="newsimg app-pic"><%#= image_tag(post.image.url, :size => "90x90") if post.image.file %><%= image_tag(post.image.url) %></div>
|
||||
<% elsif wf[1] == 'link' %>
|
||||
<% elsif wf[1] == 'file' %>
|
||||
<% elsif wf[1] == 'tag' %>
|
||||
<% elsif wf[1] == 'viewcount' %>
|
||||
<%= dislpay_view_count(post) %>
|
||||
<% elsif wf[1] == 'host' %>
|
||||
<%= User.from_id(post.update_user_id).name rescue ''%>
|
||||
<% end %>
|
||||
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</li>
|
||||
|
||||
<% end %>
|
||||
|
||||
</ul>
|
||||
</table>
|
||||
|
||||
<% if !@category_id.blank? %>
|
||||
<div class="more"><%= link_to t('more'), panel_announcement_front_end_bulletins_path( :category_id => @category_id ) %></div>
|
||||
|
@ -46,38 +61,92 @@
|
|||
<% end %>
|
||||
</div>
|
||||
|
||||
|
||||
<% elsif @widget_style == '2' %>
|
||||
|
||||
<p> ========== 2 ========== </p>
|
||||
|
||||
<div class="news news2">
|
||||
<div class="newsimg app-pic"><%= image_tag(@bulletins.first.image.url) %></div>
|
||||
<ul class="newslist">
|
||||
<% @bulletins.each do |post| %>
|
||||
<li class="<%= cycle('odd', '')%>">
|
||||
<div class="newsimg app-pic"><%= image_tag(post.image.url) %></div>
|
||||
|
||||
<% @bulletins.each_with_index do |post, i| %>
|
||||
|
||||
<li <%= ( (i+1) % 2 ) == 0 ? "class='odd'" : '' %> >
|
||||
<% @widget_fields.each do |wf| %>
|
||||
|
||||
<% if wf == 'title' %>
|
||||
<%= link_to post.title[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.bulletin_category_id), :class=>"newstitle" %>
|
||||
<% elsif wf == 'date' %>
|
||||
<span class="date"><%= display_date(post.postdate) %></span>
|
||||
<% elsif wf == 'status' %>
|
||||
<span class="<%= wf[1] %>">
|
||||
<% if wf[1] == 'title' %>
|
||||
<%= link_to post.send("#{wf[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif wf[1] == 'date' %>
|
||||
<%= display_date(post.send(wf[0])) %>
|
||||
<% elsif wf[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<% elsif wf[1] == 'text' %>
|
||||
<%#= post.send("#{wf[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{wf[0]}")[I18n.locale].html_safe %>
|
||||
<% elsif wf[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
<% end %>
|
||||
<% if post.is_hot? %>
|
||||
<span class="hot"><%= t(:hot) %></span>
|
||||
<% end %>
|
||||
<% elsif wf == 'subtitle' %>
|
||||
<span class="newsintro"><%= post.subtitle[I18n.locale].html_safe %></span>
|
||||
<% elsif wf[1] == 'link' %>
|
||||
<% elsif wf[1] == 'file' %>
|
||||
<% elsif wf[1] == 'tag' %>
|
||||
<% elsif wf[1] == 'viewcount' %>
|
||||
<%= dislpay_view_count(post) %>
|
||||
<% elsif wf[1] == 'host' %>
|
||||
<%= User.from_id(post.update_user_id).name rescue ''%>
|
||||
<% end %>
|
||||
|
||||
</span>
|
||||
<% end %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
<% if !@category_id.blank? %>
|
||||
<div class="more"><%= link_to t('more'), panel_announcement_front_end_bulletins_path( :category_id => @category_id ) %></div>
|
||||
<% else %>
|
||||
<div class="more"><%= link_to t('more'), panel_announcement_front_end_bulletins_path() %></div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% elsif @widget_style == '3' %>
|
||||
|
||||
<div class="news news3">
|
||||
<ul class="newslist">
|
||||
|
||||
<% @bulletins.each do |post| %>
|
||||
<li class="<%= cycle('odd', '')%>">
|
||||
<div class="newsimg app-pic"><%= image_tag(post.image.url) %></div>
|
||||
<div class="wrap">
|
||||
<% @widget_fields.each do |wf| %>
|
||||
<span class="<%= wf[1] %>">
|
||||
<% if wf[1] == 'title' %>
|
||||
<%= link_to post.send("#{wf[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif wf[1] == 'date' %>
|
||||
<%= display_date(post.send(wf[0])) %>
|
||||
<% elsif wf[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<% elsif wf[1] == 'text' %>
|
||||
<%#= post.send("#{wf[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{wf[0]}")[I18n.locale].html_safe %>
|
||||
<% elsif wf[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
<% end %>
|
||||
<% if post.is_hot? %>
|
||||
<span class="hot"><%= t(:hot) %></span>
|
||||
<% end %>
|
||||
<% elsif wf[1] == 'link' %>
|
||||
<% elsif wf[1] == 'file' %>
|
||||
<% elsif wf[1] == 'tag' %>
|
||||
<% elsif wf[1] == 'viewcount' %>
|
||||
<%= dislpay_view_count(post) %>
|
||||
<% elsif wf[1] == 'host' %>
|
||||
<%= User.from_id(post.update_user_id).name rescue ''%>
|
||||
<% end %>
|
||||
</span>
|
||||
<% end %>
|
||||
</div>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
|
@ -89,4 +158,102 @@
|
|||
|
||||
</div>
|
||||
|
||||
<% elsif @widget_style == '4' %>
|
||||
|
||||
<div class="news news4">
|
||||
<ul class="newslist">
|
||||
|
||||
<% @bulletins.each do |post| %>
|
||||
<li class="<%= cycle('odd', '')%>">
|
||||
<div class="newsimg app-pic"><%= image_tag(post.image.url) %></div>
|
||||
<div class="wrap">
|
||||
<% @widget_fields.each do |wf| %>
|
||||
<span class="<%= wf[1] %>">
|
||||
<% if wf[1] == 'title' %>
|
||||
<%= link_to post.send("#{wf[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif wf[1] == 'date' %>
|
||||
<%= display_date(post.send(wf[0])) %>
|
||||
<% elsif wf[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<% elsif wf[1] == 'text' %>
|
||||
<%#= post.send("#{wf[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{wf[0]}")[I18n.locale].html_safe %>
|
||||
<% elsif wf[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
<% end %>
|
||||
<% if post.is_hot? %>
|
||||
<span class="hot"><%= t(:hot) %></span>
|
||||
<% end %>
|
||||
<% elsif wf[1] == 'link' %>
|
||||
<% elsif wf[1] == 'file' %>
|
||||
<% elsif wf[1] == 'tag' %>
|
||||
<% elsif wf[1] == 'viewcount' %>
|
||||
<%= dislpay_view_count(post) %>
|
||||
<% elsif wf[1] == 'host' %>
|
||||
<%= User.from_id(post.update_user_id).name rescue ''%>
|
||||
<% end %>
|
||||
</span>
|
||||
<% end %>
|
||||
</div>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
<% if !@category_id.blank? %>
|
||||
<div class="more"><%= link_to t('more'), panel_announcement_front_end_bulletins_path( :category_id => @category_id ) %></div>
|
||||
<% else %>
|
||||
<div class="more"><%= link_to t('more'), panel_announcement_front_end_bulletins_path() %></div>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<% elsif @widget_style == '5' %>
|
||||
|
||||
<div class="news news5">
|
||||
<div class="img app-pic"><%= image_tag(@bulletins.first.image.url) %></div>
|
||||
<ul class="newslist">
|
||||
<% @bulletins.each do |post| %>
|
||||
<li class="<%= cycle('odd', '')%>">
|
||||
<% @widget_fields.each do |wf| %>
|
||||
<span class="<%= wf[1] %>">
|
||||
<% if wf[1] == 'title' %>
|
||||
<%= link_to post.send("#{wf[0]}")[I18n.locale], panel_announcement_front_end_bulletin_path(post, :category_id => post.send("#{post.class.to_s.underscore}_category_id")) %>
|
||||
<% elsif wf[1] == 'date' %>
|
||||
<%= display_date(post.send(wf[0])) %>
|
||||
<% elsif wf[1] == 'category' %>
|
||||
<%= post.send("#{post.class.to_s.underscore}_#{wf[0]}").i18n_variable[I18n.locale] rescue nil %>
|
||||
<% elsif wf[1] == 'text' %>
|
||||
<%#= post.send("#{wf[0]}[#{I18n.locale}]").html_safe %>
|
||||
<%= post.send("#{wf[0]}")[I18n.locale].html_safe %>
|
||||
<% elsif wf[1] == 'status' %>
|
||||
<% if post.is_top? %>
|
||||
<span class="top"><%= t(:top) %></span>
|
||||
<% end %>
|
||||
<% if post.is_hot? %>
|
||||
<span class="hot"><%= t(:hot) %></span>
|
||||
<% end %>
|
||||
<% elsif wf[1] == 'link' %>
|
||||
<% elsif wf[1] == 'file' %>
|
||||
<% elsif wf[1] == 'tag' %>
|
||||
<% elsif wf[1] == 'viewcount' %>
|
||||
<%= dislpay_view_count(post) %>
|
||||
<% elsif wf[1] == 'host' %>
|
||||
<%= User.from_id(post.update_user_id).name rescue ''%>
|
||||
<% end %>
|
||||
</span>
|
||||
<% end %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
<% if !@category_id.blank? %>
|
||||
<div class="more"><%= link_to t('more'), panel_announcement_front_end_bulletins_path( :category_id => @category_id ) %></div>
|
||||
<% else %>
|
||||
<div class="more"><%= link_to t('more'), panel_announcement_front_end_bulletins_path() %></div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
|
@ -39,7 +39,7 @@ Rails.application.routes.draw do
|
|||
# end
|
||||
end
|
||||
namespace :widget do
|
||||
match "index" => "bulletins#index"
|
||||
match "bulletins" => "bulletins#index"
|
||||
match "bulletins_and_web_links" => "bulletins#bulletins_and_web_links"
|
||||
match "reload_bulletins" => "bulletins#reload_bulletins"
|
||||
match "reload_web_links" => "bulletins#reload_web_links"
|
||||
|
|
Reference in New Issue