Fix category search to archives frontend search

This commit is contained in:
Bernie Chiu 2013-10-30 16:44:55 +08:00
parent ab9214a4db
commit a7a8a504a7
3 changed files with 23 additions and 13 deletions

View File

@ -7,15 +7,24 @@ class Panel::Archive::FrontEnd::ArchiveFilesController < OrbitWidgetController
end
def get_search_result
@search = ArchiveFileCategory.solr_search do
fulltext params[:search_query]
with(:frontend_search,true)
end
@search = ArchiveFileCategory.solr_search do
fulltext params[:search_query]
with(:frontend_search,true)
end
search_result = @search.results.collect{|result| result.id}
params[:category_id] = @search.results.collect{|result| result.id}
search_result = @search.results.collect{|result| result.id}
params[:category_id] = @search.results.collect{|result| result.id}
@archive_file_categorys = ArchiveFileCategory.any_in(_id:search_result).page( params[:page_main]).per(@page_num)
@archive_file_categorys = ArchiveFileCategory.any_in(_id:search_result).page( params[:page_main]).per(@page_num)
end
def get_search_category(search_query)
search_category = ArchiveFileCategory.solr_search do
fulltext search_query
with(:frontend_search, true)
end
params[:category_id] = search_category.results.collect { |result| result.id }
end
def index
@ -27,25 +36,27 @@ class Panel::Archive::FrontEnd::ArchiveFilesController < OrbitWidgetController
@page_num = 10
end
get_search_category(params[:search_query])
date_now = Time.now
@archive_file_categorys = ArchiveFileCategory.all
# @archive_files = ArchiveFile.where( :is_hidden => false ).desc(:is_top).page(params[:page]).per(@page_num)
if !params[:category_id].blank? && !params[:tag_id].blank?
@archive_files = @archive_files.default_sort(params[:sort]).can_display.where(:archive_file_category_id.in => params[:category_id], :tagged_ids.in => params[:tag_id]).desc( :is_top ).page( params[:page_main] ).per(@page_num)
@current_category = ArchiveFileCategory.from_id(params[:category_id]) rescue nil
@current_category = ArchiveFileCategory.from_id(params[:category_id]) rescue nil
elsif !params[:category_id].blank?
@archive_files = ArchiveFile.default_sort(params[:sort]).can_display.where(:archive_file_category_id.in => params[:category_id]).desc( :is_top ).page( params[:page_main] ).per(@page_num)
@current_category = ArchiveFileCategory.from_id(params[:category_id]) rescue nil
elsif !params[:tag_id].blank?
@archive_files = ArchiveFile.default_sort(params[:sort]).can_display.where(:tagged_ids.in => params[:tag_id]).desc( :is_top ).page( params[:page_main] ).per(@page_num)
else
@archive_files = ArchiveFile.default_sort(params[:sort]).can_display.desc( :is_top ).page( params[:page_main] ).per(@page_num)
end
get_categorys
if params[:sort]

View File

@ -42,10 +42,10 @@ class ArchiveFile
# text :titles do
# title_translations.to_a.collect{|t| t[1]}
# end
# boolean :frontend_search do
# !is_hidden
# end
# end
def self.search( category_id = nil )

View File

@ -1,8 +1,7 @@
class ArchiveTag < Tag
has_and_belongs_to_many :archive_files
def get_visible_links(sort = :name)
self.archive_files.where(:is_hidden => false).desc(:is_top, sort)
end