итак, проблема следующая.
у товара имеются два дополнительных свойства: длина и ширина. необходимо добавить два фильтра, ограничивающие сверху по длине и ширине, отображаемый товар. Но после фильтрации результат абсолютно не поддается логическому объяснению.
в типовые динамические страницы -> интернет магазин был добавлен следующий код:
/* Ограничиваем по длине ДО */
if (to_float($_GET['length']) > 0)
{
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
$element['name'] = '';
$element['prefix'] = 'and'; // префикс
$element['property_id'] = 4;
$element['if'] = '<='; // Условие
$element['value'] = to_float($_GET['length']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['length'] = to_float($_GET['length']);
$external_propertys['apply_filter'] = true;
$element['property_id'] ='';
}
/* Ограничиваем по ширине ДО */
if (to_float($_GET['width']) > 0)
{
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
$element['name'] = '';
$element['prefix'] = 'and'; // префикс
$element['property_id'] = 5;
$element['if'] = '<='; // Условие
$element['value'] = to_float($_GET['width']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['width'] = to_float($_GET['width']);
$external_propertys['apply_filter'] = true;
$element['property_id'] ='';
}
после заполнения переменной $param(перед вызовом процедуры
$GLOBALS['shops']->ShowShop($current_shop_id, $xsl_catalog, $param, $external_propertys);)
, она имеет следующее значение:
Array (
[current_group_id] => 10
[select] => Array (
[0] => Array (
[type] => 1
[name] =>
[prefix] => and
[property_id] => 4
[if] => <=
[value] => 150
[sufix] =>
)
[1] => Array (
[type] => 1
[name] =>
[prefix] => and
[property_id] => 5
[if] => <=
[value] => 110
[sufix] =>
)
[2] => Array (
[type] => 0
[name] =>
[prefix] => and (
[property_id] =>
[if] =>
[value] =>
[sufix] =>
)
[3] => Array (
[type] => 0
[name] =>
[prefix] => 1
[property_id] =>
[if] =>
[value] =>
[sufix] => ) GROUP BY shop_items_catalog_table.shop_items_catalog_item_id ) )
[items_begin] => 0
)