##required: catalogid, searchtype, view, fieldname ##optional: value, foreignkeyid and foreignkeyvalue #set ($catalogidother = $context.getRequestParameter('catalogid')) #if($catalogidother) #set ($catalogid = $catalogidother) #end #set ($searchtype = $context.getRequestParameter('searchtype')) ##product #set ($fieldname = $context.getRequestParameter('fieldname')) ##lastmodified #set ($view = $context.getRequestParameter('view'))
##we need to load up the existing detail object #set( $originalsearcher = $searcherManager.getSearcher($catalogid, $searchtype)) #if( !$detail) ##this is new. To reduce complexity we want to just load up the detail all the time #set( $detail = $originalsearcher.getDetailForView($view, $fieldname, $user) ) #end #set( $listid = $detail.getListId()) #set( $csslistid = "list-$!detailprefix${detail.id}") #set( $lsearcher = $searcherManager.getSearcher( $detail.getListCatalogId(), $listid )) ##optional things to filter the list #set ($foreignkeyid = $detail.get("foreignkeyid") ) #set ($foreignkeyvalue = $context.getRequestParameter('foreignkeyvalue')) #set ($squery = $detail.query ) #if ($foreignkeyid && $foreignkeyvalue) #set( $foreigndetail = $originalsearcher.getDetailForView($view, $foreignkeyid, $user) ) #if( $foreigndetail && $foreigndetail.listid ) #set( $foreignfield = $foreigndetail.listid ) #else #set( $foreignfield = $foreignkeyid ) #end #set ($query = $lsearcher.createSearchQuery()) #set ($o = $query.setAndTogether(false)) #set ($o = $query.addExact($foreignfield, $foreignkeyvalue)) #elseif( $squery && (!$detail.getType() || $detail.getType() != "textjoin") ) #set ($query = $lsearcher.parse($squery)) #else #set ($query = $lsearcher.createSearchQuery()) #set ($o = $query.addMatches("id", "*")) #end $query.setSortBy($detail.getDefaultSort()) ####$lsearcher.addShowOnly($context, $query) #set ($types = $lsearcher.search($context, $query)) #if( !$value ) #set ($value = $context.getRequestParameter('value')) #end ##if (!$value) ## #set ($value = $context.getRequestParameter("${fieldname}.value")) ##end #set( $valueid = "$fieldname" ) $types.enableBulkOperations() #if($types) #if( $foreignkeyid) #end #else [[No values found]] #end #if( $caneditlists) + [[New]] $detail #end