41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| class DefaultWidgetController< OrbitWidgetController
 | |
| 
 | |
|   def front_end_available(var)
 | |
|     @page_part = PagePart.find params[:part_id]
 | |
|     @page_part.module_app.enable_frontend?
 | |
|   end
 | |
| 
 | |
|   def default_widget
 | |
|     @tag_class = nil
 | |
| 
 | |
|     @default_widget = @page_part.module_app.get_default_widget
 | |
|     @widget_image_field = @default_widget[:image]
 | |
|     data_limit = @page_part.widget_data_count.is_a?(Fixnum) ? @page_part.widget_data_count : (@page_part.widget_data_count.to_i rescue 3)
 | |
|     @data = eval(@default_widget["query"]).limit(data_limit).includes(@widget_image_field)
 | |
|     @fields = @page_part.widget_field
 | |
| 
 | |
|     case params[:type]
 | |
|     when "typeA"
 | |
|       @tag_class = 'defulat_widget_typeA'
 | |
|       render "typeA"
 | |
|     when /typeB_/
 | |
|       @tag_class = "defulat_widget_#{params[:type]}"
 | |
|       render "typeB"
 | |
|     when "typeC"
 | |
|       @tag_class = 'defulat_widget_typeC'
 | |
|       render "typeC"
 | |
|     end
 | |
| 
 | |
|      #    {"inner"=>"true",
 | |
|      # "category_id"=>"false",
 | |
|      # "tag_id"=>"",
 | |
|      # "page"=>"",
 | |
|      # "search_query"=>"",
 | |
|      # "part_title"=>"",
 | |
|      # "part_id"=>"50ac426f83e75219d20000a7",
 | |
|      # "controller"=>"default_widget",
 | |
|      # "action"=>"default_widget",
 | |
|      # "type"=>"typeA"}
 | |
|   end
 | |
| end
 |