http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=9866
--- Comment #4 from Hend <[email protected]> --- I tried to make a way round to fix this problem .Here are the steps that i had done . 1- copy opac-search.tt to "search" directory and name it advsearch.tt. 2- Add advanced search part to search.pl [copy from opac-search.pl ] Added the following part after " my $itemtypes = GetItemTypes; " line #----------------Advanced Search---------------------- # the index parameter is different for item-level itemtypes my $itype_or_itemtype = (C4::Context->preference("item-level_itypes"))?'itype':'itemtype'; my @advancedsearchesloop; my $cnt; my $advanced_search_types = C4::Context->preference("AdvancedSearchTypes") || "itemtypes"; my @advanced_search_types = split(/\|/, $advanced_search_types); foreach my $advanced_srch_type (@advanced_search_types) { if ($advanced_srch_type eq 'itemtypes') { # itemtype is a special case, since it's not defined in authorized values my @itypesloop; foreach my $thisitemtype ( sort {$itemtypes->{$a}->{'description'} cmp $itemtypes->{$b}->{'description'} } keys %$itemtypes ) { my %row =( number=>$cnt++, ccl => "$itype_or_itemtype,phr", code => $thisitemtype, description => $itemtypes->{$thisitemtype}->{'description'}, imageurl=> getitemtypeimagelocation( 'opac', $itemtypes->{$thisitemtype}->{'imageurl'} ), ); push @itypesloop, \%row; } my %search_code = ( advanced_search_type => $advanced_srch_type, code_loop => \@itypesloop ); push @advancedsearchesloop, \%search_code; } else { # covers all the other cases: non-itemtype authorized values my $advsearchtypes = GetAuthorisedValues($advanced_srch_type, '', 'opac'); my @authvalueloop; for my $thisitemtype (@$advsearchtypes) { my %row =( number=>$cnt++, ccl => $advanced_srch_type, code => $thisitemtype->{authorised_value}, description => $thisitemtype->{'lib_opac'} || $thisitemtype->{'lib'}, imageurl => getitemtypeimagelocation( 'opac', $thisitemtype->{'imageurl'} ), ); push @authvalueloop, \%row; } my %search_code = ( advanced_search_type => $advanced_srch_type, code_loop => \@authvalueloop ); push @advancedsearchesloop, \%search_code; } } $template->param(advancedsearchesloop => \@advancedsearchesloop); # The following should only be loaded if we're bringing up the advanced search template if ( $template_type && $template_type eq 'advsearch' ) { # load the servers (used for searching -- to do federated searching, etc.) my $primary_servers_loop;# = displayPrimaryServers(); $template->param(outer_servers_loop => $primary_servers_loop,); my $secondary_servers_loop; $template->param(outer_sup_servers_loop => $secondary_servers_loop,); # set the default sorting if ( C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder') ) { my $default_sort_by = C4::Context->preference('OPACdefaultSortField') . '_' . C4::Context->preference('OPACdefaultSortOrder'); $template->param( sort_by => $default_sort_by ); } # determine what to display next to the search boxes (ie, boolean option # shouldn't appear on the first one, scan indexes should, adding a new # box should only appear on the last, etc. my @search_boxes_array; my $search_boxes_count = 3; # begin whith 3 boxes for (my $i=1;$i<=$search_boxes_count;$i++) { # if it's the first one, don't display boolean option, but show scan indexes if ($i==1) { push @search_boxes_array, { scan_index => 1, }; } # if it's the last one, show the 'add field' box elsif ($i==$search_boxes_count) { push @search_boxes_array, { boolean => 1, add_field => 1, }; } else { push @search_boxes_array, { boolean => 1, }; } } $template->param(uc( C4::Context->preference("marcflavour")) => 1, # we already did this for UNIMARC advsearch => 1, search_boxes_loop => \@search_boxes_array); # use the global setting by default if ( C4::Context->preference("expandedSearchOption") == 1 ) { $template->param( expanded_options => C4::Context->preference("expandedSearchOption") ); } # but let the user override it if (defined $cgi->param('expanded_options')) { if ( ($cgi->param('expanded_options') == 0) || ($cgi->param('expanded_options') == 1 ) ) { $template->param( expanded_options => $cgi->param('expanded_options')); } } } #----------------------------------------------------- Now i could use advanced search. Please could you review it and check if there's any part that i am missing. -- You are receiving this mail because: You are watching all bug changes. _______________________________________________ Koha-bugs mailing list [email protected] http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/
