Делаю сайт интернет магазина. Нужно сделать фильтр по товарам. так чтобы одно фильтр по одному свойству выводилось в виде нескольких чекбоксов.
Как это правильно сделать??
PS пытался сделать так:
использую стандартный компонент catalog.filter
в файле component.php код
заменил на
и поставил у свойства "множественный выбор"
пока не помогло(
Как это правильно сделать??
PS пытался сделать так:
использую стандартный компонент catalog.filter
в файле component.php код
| Код |
|---|
$name = $FILTER_NAME."_pf[".$arProp["CODE"]."]";
$value = $arrPFV[$arProp["CODE"]];
if ($arProp["MULTIPLE"]=="Y")
$res .= '<select multiple name="'.$name.'[]" size="'.$arParams["LIST_HEIGHT"].'">';
else
$res .= '<select name="'.$name.'">';
$res .= '<option value="">'.GetMessage("CC_BCF_ALL").'</option>';
foreach($arProp["VALUE_LIST"] as $key=>$val)
{
$res .= '<option';
if (($arProp["MULTIPLE"] == "Y") && is_array($value))
{
if(in_array($key, $value))
$res .= ' selected';
}
else
{
if($key == $value)
$res .= ' selected';
}
$res .= ' value="'.htmlspecialchars($key).'">'.htmlspecialchars($val).'</option>';
}
$res .= '</select>'; |
заменил на
| Код |
|---|
$name = $FILTER_NAME."_pf[".$arProp["CODE"]."]";
$value = $arrPFV[$arProp["CODE"]];
if ($arProp["MULTIPLE"]=="Y")
$res .= '';
else
$res .= '<select name="'.$name.'">';
if ($arProp["MULTIPLE"]=="Y")
$res .= '';
else
$res .= '<option value="">'.GetMessage("CC_BCF_ALL").'</option>';
foreach($arProp["VALUE_LIST"] as $key=>$val)
{
if ($arProp["MULTIPLE"]=="Y")
$res .= '<input';
else
$res .= '<option';
if (($arProp["MULTIPLE"] == "Y") && is_array($value))
{
if(in_array($key, $value))
$res .= ' checked';
}
else
{
if($key == $value)
$res .= ' selected';
}
if ($arProp["MULTIPLE"]=="Y")
$res .= ' type="checkbox" name="'.$name.'[]" value="'.htmlspecialchars($key).'">'.htmlspecialchars($val).' ';
else
$res .= ' value="'.htmlspecialchars($key).'">'.htmlspecialchars($val).'</option>';
}
$res .= '</select>'; |
и поставил у свойства "множественный выбор"
пока не помогло(