Package DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder
Class for craeting params for remote search requests. See 'jaxrs' documentation in $EPAGESJ/doc/jaxrsdoc/product/{dsName}/{shopGUID}/search/index.html for all available search options.
Example |
my $Builder = DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder->new(); $Builder->query('Jack') ->lang('en') ->addFilterValues('IsNew', [1]) ->addFilterRange('Price', [10, 20] ); ->addFacetMode($Shop) my $hParams = $Builder->params(); |
Functions
- addFacetMode
- addFilterRange
- addFilterValues
- addTaxArea
- currency
- currentPage
- getFilters
- lang
- new
- params
- query
- resultsPerPage
- sortBy
addFacetMode
Define which facets should be part of the search result, based on available shop features. Possible facet modes are: 'NO_FACETS'|'STANDARD_FACETS'|'ALL_FACETS'
Syntax |
$Builder->addFacetMode( $Shop ); |
Example |
$Builder->addFacetMode( $Shop ); |
Input |
|
Return |
|
addFilterRange
Add range filter to parameters. First value from $aValue is used as "min" the second value is used from $aValue.
Syntax |
$Builder->addFilterRange( $Name, $aValues ); |
Example |
$Builder->addFilterRange( 'ListPrice', [1.11,12.22] ); |
Input |
|
Return |
|
addFilterValues
Add simple filter to parameters. If more than one value is provided multible filters are created for facet $Name. In the example below we search for products from Manufacturers 'Deuter' or 'Leatherman'.
Syntax |
$Builder->addFilterValues( $Name, $aValues ); |
Example |
$Builder->addFilterValues( 'Manufacturer', ['Deuter','Leatherman'] ); |
Input |
|
Return |
|
addTaxArea
Set TaxArea (only needed if gross prices are used)
Syntax |
$Builder->addTaxArea( ); |
Example |
$Builder->addTaxArea( $TaxArea ); |
Input |
|
Return |
|
currency
Adds currency code to parameters
Syntax |
$Builder->currency( $currency ); |
Example |
$Builder->currency( 'EUR' ); |
Input |
|
Return |
|
currentPage
Adds current page number to parameters
Syntax |
$Builder->currentPage( $currentPage ); |
Example |
$Builder->currentPage( 2 ); |
Input |
|
Return |
|
getFilters
Returns reference of the filter list stored in params under key 'attributeFilters'. Method is used only for testing/internally
Syntax |
my $aFilters = $Builder->getFilters(); |
Return |
|
lang
Adds language code to parameters
Syntax |
$Builder->lang( $lang ); |
Example |
$Builder->lang( 'de' ); |
Input |
|
Return |
|
new
Standard constructor
Syntax |
my $Builder = DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder->new() |
Input |
|
Return |
|
params
Returns reference of the parameters list stored in this object
Syntax |
my $hParams = $Builder->params(); |
Return |
|
query
Adds a query to parameters. Does not do anything, if query is undefined or only contains whitespace.
Syntax |
$Builder->query( $query ); |
Example |
$Builder->query( 'Jack' ); |
Input |
|
Return |
|
resultsPerPage
sets results per page
Syntax |
resultsPerPage( $resultsPerPage ); |
Input |
|
Return |
|
sortBy
Adds sorting option to parameters
Syntax |
$Builder->sortBy( $orderBy, $orderDesc ); |
Example |
$Builder->sortBy( 'NameOrAlias', 0 ); |
Input |
|
Return |
|