Специально для тех, кому надо реализовать подобный функционал:
В типовой динамической странице интернет-магазина добавляем код после блока "Ограничиваем по производителю"
/* Ограничение по наличию */
if(isset($_GET['in_stock']) AND $_GET['in_stock']=="on"){ // проверка на наличие параметра и соответствие включенной галочке
$element['type'] = 0; //основное свойство
$element['prefix'] = 'AND';
$element['name'] = 'shop_items_catalog_rest'; //система сама преобразует в нужное действие данный запрос
$element['if'] = '>';
$element['value'] = 0;
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['in_stock'] = "on";
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
Далее в XSL-шаблоне МагазинКаталогТоваров добавляем саму галочку к блоку с фильтрами:
<label>Показать только товары в наличии</label>
<input type="checkbox" name="in_stock" id="in_stock">
<xsl:if test="/shop/in_stock = 'on'">
<xsl:attribute name="checked">
<xsl:text disable-output-escaping="yes">checked</xsl:text>
</xsl:attribute>
</xsl:if>
</input>
Чуть ниже добавляем в фильтр нашу галочку, чтобы она добралась до $_GET
<!-- Определяем ссылку с параметрами фильтра -->
<xsl:variable name="filter">
<xsl:if test="/shop/apply_filter/node()">?action=apply_filter&producer_id=<xsl:value-of select="/shop/producer_id"/>&saller_id=<xsl:value-of select="/shop/saller_id"/>&price_from=<xsl:value-of select="/shop/price_from"/>&price_to=<xsl:value-of select="/shop/price_to"/>&on_page=<xsl:value-of select="/shop/on_page"/>&in_stock=<xsl:value-of select="/shop/in_stock"/>
<xsl:if test="/shop/property_xml/node()">
<!-- GET для доп. свойств -->
<xsl:value-of select="/shop/property_xml"/>
</xsl:if>
</xsl:if>
</xsl:variable>
И еще ниже будет подобная конструкция. Здесь тоже добавляем в конец строки с action
&in_stock=<xsl:value-of select="/shop/in_stock"/>
И почти в самый конец добавляем эту же строчку:
<!-- Передаем фильтр -->
<xsl:variable name="filter">
<xsl:choose>
<xsl:when test="/shop/apply_filter/node()">?action=apply_filter&producer_id=<xsl:value-of select="/shop/producer_id"/>&saller_id=<xsl:value-of select="/shop/saller_id"/>&price_from=<xsl:value-of select="/shop/price_from"/>&price_to=<xsl:value-of select="/shop/price_to"/>&on_page=<xsl:value-of select="/shop/on_page"/>&in_stock=<xsl:value-of select="/shop/in_stock"/>
<xsl:if test="/shop/property_xml/node()">
<!-- GET для доп. свойств -->
<xsl:value-of select="/shop/property_xml"/>
</xsl:if>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
Таким образом у нас появляется в фильтрах галочка, которая добавляется в фильтр и не теряется при переходе к другим страницам при паджинации. =)