1

Currently i am working on ASPDNSF CMS xml packages and trying to change the web query parameter pageZise default value. My pronblm is when i search for product first time then page size is 0 its shows the product listing around 200 product so i want to check if the pagesize is zero then it should set the page size pagenumber*12.

following is my code web query code:

<webquery name="searchresults" RetType="xml" timeout="30">
    <url><![CDATA[{SmartSearch}&searchTerm={entityName}ID:{entityID}&searchString={searchString}&sortField={sortField}&pageNumber={pageNumber}&pageSize={pageSize}&facetQuery={facet}]]></url>
    <querystringreplace replaceTag="{SmartSearch}" replacetype="webconfig" replaceparamname="SmartSearchURL" defvalue="" validationpattern=""/>
    <querystringreplace replaceTag="{searchString}" replacetype="runtime" replaceparamname="SearchTerm" defvalue="" validationpattern=""/>
    <querystringreplace replaceTag="{entityID}" replacetype="runtime" replaceparamname="EntityID" defvalue="" validationpattern=""/>
    <!-- if the EntityID is missing, then get rid of the whole searchTerm: -->
    <querystringreplace replaceTag="searchTerm={entityName}ID:&amp;" replacetype="justreplace" replaceparamname="N/A" defvalue="" validationpattern=""/>
    <querystringreplace replaceTag="{entityName}" replacetype="runtime" replaceparamname="EntityName" defvalue="" validationpattern=""/>
    <querystringreplace replaceTag="{pageNumber}" replacetype="request" replaceparamname="pageNumber" defvalue="1" validationpattern=""/>
    <querystringreplace replaceTag="{pageSize}" replacetype="request" replaceparamname="pageSize" defvalue="0" validationpattern=""/>
    <querystringreplace replaceTag="{facetGroup}" replacetype="request" replaceparamname="facetgroup" defvalue="ManufacturerID" validationpattern=""/>
    <querystringreplace replaceTag="{facet}" replacetype="request" replaceparamname="facet" defvalue="" validationpattern=""/>
    <querystringreplace replaceTag="{sortField}" replacetype="request" replaceparamname="sortField" defvalue="" validationpattern=""/>
  </webquery> 

and i am trying to achieve the goal as from following code

<xsl:param name="pageSize" select="/root/searchresults/hits/pagesize"></xsl:param>

      <xsl:param name="pageSize">
        <xsl:choose>
          <xsl:when test="string(number(/root/searchresults/hits/pagesize)) != 'NaN'">
            <xsl:value-of select="/root/searchresults/hits/pagesize" />
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="30" />
          </xsl:otherwise>
        </xsl:choose>
      </xsl:param>

      <xsl:param name="pageNumber">
        <xsl:choose>
          <xsl:when test="/root/searchresults/hits/page/text()">
            <xsl:value-of select="/root/searchresults/hits/page" />
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="0" />
          </xsl:otherwise>
        </xsl:choose>
      </xsl:param>

Thanks in advence:) Harpreet Singh

Preet sohal
  • 29
  • 1
  • 6

1 Answers1

0

changing the default values should just changing the defvalue attribute on each querystringreplace in the webquery.

Basically the code below

<webquery name="searchresults" RetType="xml" timeout="30">
    <url><![CDATA[{SmartSearch}&searchTerm={entityName}ID:{entityID}&searchString={searchString}&sortField={sortField}&pageNumber={pageNumber}&pageSize={pageSize}&facetQuery={facet}]]></url>
    <querystringreplace replaceTag="{SmartSearch}" replacetype="webconfig" replaceparamname="SmartSearchURL" defvalue="" validationpattern=""/>
    <querystringreplace replaceTag="{searchString}" replacetype="runtime" replaceparamname="SearchTerm" defvalue="" validationpattern=""/>
    <querystringreplace replaceTag="{entityID}" replacetype="runtime" replaceparamname="EntityID" defvalue="" validationpattern=""/>
    <!-- if the EntityID is missing, then get rid of the whole searchTerm: -->
    <querystringreplace replaceTag="searchTerm={entityName}ID:&amp;" replacetype="justreplace" replaceparamname="N/A" defvalue="" validationpattern=""/>
    <querystringreplace replaceTag="{entityName}" replacetype="runtime" replaceparamname="EntityName" defvalue="" validationpattern=""/>
    <querystringreplace replaceTag="{pageNumber}" replacetype="request" replaceparamname="pageNumber" defvalue="0" validationpattern=""/>
    <querystringreplace replaceTag="{pageSize}" replacetype="request" replaceparamname="pageSize" defvalue="30" validationpattern=""/>
    <querystringreplace replaceTag="{facetGroup}" replacetype="request" replaceparamname="facetgroup" defvalue="ManufacturerID" validationpattern=""/>
    <querystringreplace replaceTag="{facet}" replacetype="request" replaceparamname="facet" defvalue="" validationpattern=""/>
    <querystringreplace replaceTag="{sortField}" replacetype="request" replaceparamname="sortField" defvalue="" validationpattern=""/>
</webquery>
Geach
  • 61
  • 3