<%= f.label :is_published, "#{t('front_page.is_published')} ?", :class => 'control-label' %>
diff --git a/app/views/admin/pages/reload_frontend_pages.js.erb b/app/views/admin/pages/reload_frontend_pages.js.erb
index 1d4ce1f8..215ec3fb 100644
--- a/app/views/admin/pages/reload_frontend_pages.js.erb
+++ b/app/views/admin/pages/reload_frontend_pages.js.erb
@@ -1,7 +1,8 @@
<% if @module_app %>
$('#app_page_category').html("<%= j render :partial => 'admin/page_parts/widget_data_source_category' ,:locals=>{:object=>@page}%>");
$('#app_page_tag').html("<%= j render :partial => 'admin/page_parts/widget_data_source_tag',:locals=>{:object=>@page} %>");
-
+ $("#data_count").html("<%= j render :partial => 'admin/pages/data_count_field',:locals=>{:field_name=>'page[frontend_data_count]',:field_value=>@page.frontend_data_count} %>");
+
<% if !@module_app.app_pages.blank? %>
$('#app_page_url').html("<%= escape_javascript(select 'page', 'app_frontend_url', options_for_select(@app_frontend_urls, @app_frontend_urls.first)) %>");
<%else %>
diff --git a/app/views/default_widget/_typeB.html.erb b/app/views/default_widget/_typeB.html.erb
index fcf70065..ff2b8bdd 100644
--- a/app/views/default_widget/_typeB.html.erb
+++ b/app/views/default_widget/_typeB.html.erb
@@ -13,5 +13,4 @@
<% end %>
<% end %>
-
more
<% end %>
diff --git a/app/views/default_widget/_typeC.html.erb b/app/views/default_widget/_typeC.html.erb
index d3b3e49f..24729b08 100644
--- a/app/views/default_widget/_typeC.html.erb
+++ b/app/views/default_widget/_typeC.html.erb
@@ -11,5 +11,4 @@
<% end %>
<% end %>
-
more
<% end %>
diff --git a/app/views/default_widget/default_widget.html.erb b/app/views/default_widget/default_widget.html.erb
index b134d8ad..fe46de2c 100644
--- a/app/views/default_widget/default_widget.html.erb
+++ b/app/views/default_widget/default_widget.html.erb
@@ -1,4 +1,7 @@
<%= render @partial %>
<% if @paginate %>
<%= paginate @data, :param_name => :page_main, :params => {:same_page_id => @page_id} %>
-<% end %>
\ No newline at end of file
+<% end %>
+<% if @page_part.module_app %>
+ <%= @page_part.module_app.get_registration.default_widget_setting.link_to_more_tag(request,params) %>
+<% end %>
diff --git a/lib/orbit_app.rb b/lib/orbit_app.rb
index 5b20f7a5..0d801751 100644
--- a/lib/orbit_app.rb
+++ b/lib/orbit_app.rb
@@ -3,6 +3,7 @@ require "orbit_app/dsl"
require "orbit_app/helper/renderer"
require "orbit_app/helper/side_bar_renderer"
require "orbit_app/helper/context_link_renderer"
+require "orbit_app/helper/default_widget_tag_helper"
require "orbit_app/module/side_bar"
require "orbit_app/module/widget"
require "orbit_app/module/front_end"
diff --git a/lib/orbit_app/module/registration.rb b/lib/orbit_app/module/registration.rb
index 9856f7d3..9a300a0f 100644
--- a/lib/orbit_app/module/registration.rb
+++ b/lib/orbit_app/module/registration.rb
@@ -28,7 +28,7 @@ module OrbitApp
end
class DataSheet
- attr_reader :name,:key,:base_path,:module_label
+ attr_reader :name,:key,:base_path,:module_label,:data_count
def initialize(name, &block)
@name = name
@@ -36,6 +36,7 @@ module OrbitApp
@side_bar = nil
@front_end_app_pages = nil
@module_label = 'rulingcom.errors.init.module_app_noname'
+ @data_count = 1..3 # as default
block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given?
setup_module_app
end
@@ -86,6 +87,10 @@ module OrbitApp
@front_end_app_pages.nil? ? [] : @front_end_app_pages.to_module_app_format
end
+ def get_data_count
+ @data_count
+ end
+
def get_widget_by_path(path)
if @widget_set
@widget_set.find_by_path(path)
@@ -94,6 +99,14 @@ module OrbitApp
end
end
+ def default_widget_setting
+ @widget_set.default_widget_setting
+ end
+
+ def widget_setting
+ @widget_set
+ end
+
def get_widgets
@widget_set.nil? ? {} : @widget_set.to_module_app_format
end
@@ -127,7 +140,7 @@ module OrbitApp
# @default_widget = widget_set.default_widget
end
- %w{module_label category base_url version organization author intro update_info}.each do |field|
+ %w{data_count module_label category base_url version organization author intro update_info}.each do |field|
define_method(field){|var| instance_variable_set( "@" + field, var)}
end
diff --git a/lib/orbit_app/module/widget.rb b/lib/orbit_app/module/widget.rb
index 7e99b2a9..3389b5b1 100644
--- a/lib/orbit_app/module/widget.rb
+++ b/lib/orbit_app/module/widget.rb
@@ -34,6 +34,10 @@ module OrbitApp
define_method(field){|var| instance_variable_set( "@" + field, var)}
end
+ # def data_count(var)
+ # @data_count = var
+ # end
+
def find_by_path(path)
@widgets.each do |widget|
return widget if widget.name == path
@@ -44,10 +48,14 @@ module OrbitApp
eval(@categories_query) rescue nil
end
- def get_tags
+ def get_tags
eval(@tags_query) rescue nil
end
+ def default_widget_setting
+ @default_widget
+ end
+
def default_widget(&block)
@default_widget = DefaultWidget.new(&block)
end
@@ -85,6 +93,7 @@ module OrbitApp
end
class DefaultWidget
+ include DefaultWidgetTagHelper
STYLE = ["typeA","typeB_style2","typeB_style3","typeB_style4","typeC"]
def initialize(&block)
@@ -95,9 +104,10 @@ module OrbitApp
block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given?
end
- def more_link_to(label_i18n,path_method)
- @more_link[:label_i18n] = label_i18n
- @more_link[:path_method] = path_method
+
+ def link_to_more(*args)
+ @more_link[:label_i18n] = (args[1] ? args[1][:title_i18n] : 'default_widget.default_link_to_more' )
+ @more_link[:path_method] = args[0]
end
def self.get_interface_args
@@ -106,7 +116,7 @@ module OrbitApp
end
def to_module_app_format
- {"query"=>@query,"image"=>@image} rescue nil
+ {"query"=>@query,"image"=>@image,"more_link"=>@more_link} rescue nil
end
def link_field(field_name,setting)
diff --git a/vendor/built_in_modules/announcement/config/locales/zh_tw.yml b/vendor/built_in_modules/announcement/config/locales/zh_tw.yml
index d24c1265..45769028 100644
--- a/vendor/built_in_modules/announcement/config/locales/zh_tw.yml
+++ b/vendor/built_in_modules/announcement/config/locales/zh_tw.yml
@@ -27,6 +27,7 @@ zh_tw:
approval_setting: 審核權限
tags: 標籤
default_widget:
+ to_more: 更多
bulletin_category_with_title: 分類
title: 標題
postdate: 張貼日期
diff --git a/vendor/built_in_modules/announcement/init.rb b/vendor/built_in_modules/announcement/init.rb
index 2dd1628a..ab54a438 100644
--- a/vendor/built_in_modules/announcement/init.rb
+++ b/vendor/built_in_modules/announcement/init.rb
@@ -18,6 +18,7 @@ module Announcement
end
category ["BulletinCategory"]
+ data_count 3..10
widgets do
default_widget do
@@ -26,6 +27,7 @@ module Announcement
field :postdate
link_field :title,{:method => 'panel_announcement_front_end_bulletin_path',:args=>:self}
link_field :bulletin_category_with_title,{:method => 'panel_announcement_front_end_bulletins_path',:args=>{:category_id => [:bulletin_category,:id]}}
+ link_to_more 'panel_announcement_front_end_bulletins_path',:title_i18n=> 'announcement.default_widget.to_more'
end
categories_query 'BulletinCategory.all'