Я не самый крутой 1С-Битрикс разработчик, но разве это нормально делать так?
Сайт с недвижимостью, вверху форма для выбора параметров (район, кол-во комнат, цена и т.п.), форма не компонентом, а просто форма в шаблоне. Форма отправляется в раздел /catalog/, где в файле index.php такой код:
Сайт с недвижимостью, вверху форма для выбора параметров (район, кол-во комнат, цена и т.п.), форма не компонентом, а просто форма в шаблоне. Форма отправляется в раздел /catalog/, где в файле index.php такой код:
Код |
---|
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); $APPLICATION->SetTitle("Каталог"); $_REQUEST["PROPERTY_LC_min_price_left"] = str_replace(' ','',$_REQUEST["PROPERTY_LC_min_price_left"]); $_REQUEST["PROPERTY_LC_min_price_right"] = str_replace(' ','',$_REQUEST["PROPERTY_LC_min_price_right"]); $_REQUEST["PROPERTY_LC_flat_squaer_left"] = str_replace(' ','',$_REQUEST["PROPERTY_LC_flat_squaer_left"]); $_REQUEST["PROPERTY_LC_flat_squaer_right"] = str_replace(' ','',$_REQUEST["PROPERTY_LC_flat_squaer_right"]); if($_REQUEST["PROPERTY_LC_min_price_left"] != ""){$arr_filter[">=PROPERTY_LC_min_price"] = $_REQUEST["PROPERTY_LC_min_price_left"];} if($_REQUEST["PROPERTY_LC_min_price_right"] != ""){$arr_filter["<=PROPERTY_LC_min_price"] = $_REQUEST["PROPERTY_LC_min_price_right"];} if($_REQUEST["PROPERTY_LC_flat_squaer_left"] != ""){$arr_filter[">=PROPERTY_LC_flat_squaer"] = $_REQUEST["PROPERTY_LC_flat_squaer_left"];} if($_REQUEST["PROPERTY_LC_flat_squaer_right"] != ""){$arr_filter["<=PROPERTY_LC_flat_squaer"] = $_REQUEST["PROPERTY_LC_flat_squaer_right"];} if($_REQUEST["PROPERTY_LC_min_price_left"] != "" && $_REQUEST["PROPERTY_LC_min_price_right"] != ""){ $LOGIK_OR = array("LOGIC" => "OR"); if($_REQUEST["PROPERTY_LC_min_price_0"] != ""){$LOGIK_OR[] = array(">=PROPERTY_LC_min_price_0" => $_REQUEST["PROPERTY_LC_min_price_left"], "<=PROPERTY_LC_min_price_0" => $_REQUEST["PROPERTY_LC_min_price_right"]);} if($_REQUEST["PROPERTY_LC_min_price_1"] != ""){$LOGIK_OR[] = array(">=PROPERTY_LC_min_price_1" => $_REQUEST["PROPERTY_LC_min_price_left"], "<=PROPERTY_LC_min_price_1" => $_REQUEST["PROPERTY_LC_min_price_right"]);} if($_REQUEST["PROPERTY_LC_min_price_2"] != ""){$LOGIK_OR[] = array(">=PROPERTY_LC_min_price_2" => $_REQUEST["PROPERTY_LC_min_price_left"], "<=PROPERTY_LC_min_price_2" => $_REQUEST["PROPERTY_LC_min_price_right"]);} if($_REQUEST["PROPERTY_LC_min_price_3"] != ""){$LOGIK_OR[] = array(">=PROPERTY_LC_min_price_3" => $_REQUEST["PROPERTY_LC_min_price_left"], "<=PROPERTY_LC_min_price_3" => $_REQUEST["PROPERTY_LC_min_price_right"]);} }elseif($_REQUEST["PROPERTY_LC_min_price_left"] != ""){ $LOGIK_OR = array("LOGIC" => "OR"); if($_REQUEST["PROPERTY_LC_min_price_0"] != ""){$LOGIK_OR[] = array(">=PROPERTY_LC_min_price_0" => $_REQUEST["PROPERTY_LC_min_price_left"]);} if($_REQUEST["PROPERTY_LC_min_price_1"] != ""){$LOGIK_OR[] = array(">=PROPERTY_LC_min_price_1" => $_REQUEST["PROPERTY_LC_min_price_left"]);} if($_REQUEST["PROPERTY_LC_min_price_2"] != ""){$LOGIK_OR[] = array(">=PROPERTY_LC_min_price_2" => $_REQUEST["PROPERTY_LC_min_price_left"]);} if($_REQUEST["PROPERTY_LC_min_price_3"] != ""){$LOGIK_OR[] = array(">=PROPERTY_LC_min_price_3" => $_REQUEST["PROPERTY_LC_min_price_left"]);} }elseif($_REQUEST["PROPERTY_LC_min_price_right"] != ""){ $LOGIK_OR = array("LOGIC" => "OR"); if($_REQUEST["PROPERTY_LC_min_price_0"] != ""){$LOGIK_OR[] = array("<=PROPERTY_LC_min_price_0" => $_REQUEST["PROPERTY_LC_min_price_right"]);} if($_REQUEST["PROPERTY_LC_min_price_1"] != ""){$LOGIK_OR[] = array("<=PROPERTY_LC_min_price_1" => $_REQUEST["PROPERTY_LC_min_price_right"]);} if($_REQUEST["PROPERTY_LC_min_price_2"] != ""){$LOGIK_OR[] = array("<=PROPERTY_LC_min_price_2" => $_REQUEST["PROPERTY_LC_min_price_right"]);} if($_REQUEST["PROPERTY_LC_min_price_3"] != ""){$LOGIK_OR[] = array("<=PROPERTY_LC_min_price_3" => $_REQUEST["PROPERTY_LC_min_price_right"]);} }else{ $LOGIK_OR = array("LOGIC" => "OR"); if($_REQUEST["PROPERTY_LC_min_price_0"] != ""){$LOGIK_OR[] = array("!PROPERTY_LC_min_price_0" => false);} if($_REQUEST["PROPERTY_LC_min_price_1"] != ""){$LOGIK_OR[] = array("!PROPERTY_LC_min_price_1" => false);} if($_REQUEST["PROPERTY_LC_min_price_2"] != ""){$LOGIK_OR[] = array("!PROPERTY_LC_min_price_2" => false);} if($_REQUEST["PROPERTY_LC_min_price_3"] != ""){$LOGIK_OR[] = array("!PROPERTY_LC_min_price_3" => false);} } //$arr_filter[] = $LOGIK_OR; if($_REQUEST["PROPERTY_LC_mortgage"] != ""){$arr_filter["!PROPERTY_LC_mortgage"] = false;} if($_REQUEST["PROPERTY_LC_rassrochka"] != ""){$arr_filter["!PROPERTY_LC_rassrochka"] = false;} if($_REQUEST["PROPERTY_LC_raion"] != ""){$arr_filter["PROPERTY_LC_raion"] = $_REQUEST["PROPERTY_LC_raion"];} if($_REQUEST["PROPERTY_LC_metro"] != ""){$arr_filter["PROPERTY_LC_metro"] = false;} if($_REQUEST["PROPERTY_ID"] != ""){$arr_filter["ID"] = $_REQUEST["PROPERTY_ID"];} if($_REQUEST["PROPERTY_LC_rassrochka"] != ""){$arr_filter["!PROPERTY_LC_rassrochka"] = false;} ?> <?$APPLICATION->IncludeComponent( "bitrix:catalog", ".default", Array( "AJAX_MODE" => "N", "SEF_MODE" => "Y", "IBLOCK_TYPE" => "info", "IBLOCK_ID" => "5", "USE_FILTER" => "Y", "USE_COMPARE" => "N", "SHOW_TOP_ELEMENTS" => "Y", "SECTION_COUNT_ELEMENTS" => "Y", "SECTION_TOP_DEPTH" => "2", "PAGE_ELEMENT_COUNT" => "9", "LINE_ELEMENT_COUNT" => "3", "ELEMENT_SORT_FIELD" => "sort", "ELEMENT_SORT_ORDER" => "asc", "ELEMENT_SORT_FIELD2" => "id", "ELEMENT_SORT_ORDER2" => "desc", "LIST_PROPERTY_CODE" => array("LC_best", "LC_adress", "LC_srok_sdachi", "id_from_xml", "LC_builder_descr", "LC_mortgage", "LC_category", "LC_tehnolog_descr", "LC_class", "LC_key_perfect", "LC_flat_count", "LC_flat_squaer", "LC_min_price_2", "LC_min_price_1", "LC_min_price_3", "LC_min_price_0", "LC_min_price", "LC_options_descr", "LC_noplat_descr", "LC_infra_descr", "LC_map", "LC_pay_ed", "LC_docs_descr", "LC_raion", "LC_rassrochka", "LC_metro_distance", "LC_spec", "LC_spec_more", "LC_metro", "LC_dogovor_descr", "LC_type", "LC_pay_more", "LC_home_descr", "LC_price_descr"), "INCLUDE_SUBSECTIONS" => "Y", "LIST_META_KEYWORDS" => "-", "LIST_META_DESCRIPTION" => "-", "LIST_BROWSER_TITLE" => "-", "DETAIL_PROPERTY_CODE" => array("LC_best", "LC_adress", "BNK", "LC_srok_sdachi", "id_from_xml", "LC_builder_descr", "LC_mortgage", "LC_category", "LC_tehnolog_descr", "LC_class", "LC_key_perfect", "LC_flat_count", "LC_flat_squaer", "LC_min_price_2", "LC_min_price_1", "LC_min_price_3", "LC_min_price_0", "LC_min_price", "LC_options_descr", "LC_noplat_descr", "LC_infra_descr", "LC_map", "LC_pay_ed", "LC_docs_descr", "LC_raion", "LC_rassrochka", "LC_metro_distance", "LC_spec", "LC_spec_more", "LC_metro", "LC_dogovor_descr", "LC_type", "LC_pay_more", "LC_home_descr", "LC_price_descr"), "DETAIL_META_KEYWORDS" => "-", "DETAIL_META_DESCRIPTION" => "-", "DETAIL_BROWSER_TITLE" => "-", "BASKET_URL" => "/personal/basket.php", "ACTION_VARIABLE" => "action", "PRODUCT_ID_VARIABLE" => "id", "SECTION_ID_VARIABLE" => "SECTION_ID", "PRODUCT_QUANTITY_VARIABLE" => "quantity", "PRODUCT_PROPS_VARIABLE" => "prop", "CACHE_TYPE" => "A", "CACHE_TIME" => "36000000", "CACHE_FILTER" => "N", "CACHE_GROUPS" => "Y", "SET_TITLE" => "Y", "SET_STATUS_404" => "N", "PRICE_CODE" => array("id_from_xml"), "USE_PRICE_COUNT" => "N", "SHOW_PRICE_COUNT" => "1", "PRICE_VAT_INCLUDE" => "Y", "PRICE_VAT_SHOW_VALUE" => "N", "PRODUCT_PROPERTIES" => array(), "USE_PRODUCT_QUANTITY" => "N", "LINK_IBLOCK_TYPE" => "", "LINK_IBLOCK_ID" => "", "LINK_PROPERTY_SID" => "", "LINK_ELEMENTS_URL" => "link.php?PARENT_ELEMENT_ID=#ELEMENT_ID#", "USE_STORE" => "N", "USE_ELEMENT_COUNTER" => "Y", "DISPLAY_TOP_PAGER" => "N", "DISPLAY_BOTTOM_PAGER" => "Y", "PAGER_TITLE" => "Товары", "PAGER_SHOW_ALWAYS" => "Y", "PAGER_TEMPLATE" => "", "PAGER_DESC_NUMBERING" => "N", "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000", "PAGER_SHOW_ALL" => "Y", "TOP_ELEMENT_COUNT" => "9", "TOP_LINE_ELEMENT_COUNT" => "3", "TOP_ELEMENT_SORT_FIELD" => "sort", "TOP_ELEMENT_SORT_ORDER" => "asc", "TOP_ELEMENT_SORT_FIELD2" => "id", "TOP_ELEMENT_SORT_ORDER2" => "desc", "TOP_PROPERTY_CODE" => array("LC_best", "LC_adress", "LC_srok_sdachi", "id_from_xml", "LC_builder_descr", "LC_mortgage", "LC_category", "LC_tehnolog_descr", "LC_class", "LC_key_perfect", "LC_flat_count", "LC_flat_squaer", "LC_min_price_2", "LC_min_price_1", "LC_min_price_3", "LC_min_price_0", "LC_min_price", "LC_options_descr", "LC_noplat_descr", "LC_infra_descr", "LC_map", "LC_pay_ed", "LC_docs_descr", "LC_raion", "LC_rassrochka", "LC_metro_distance", "LC_spec", "LC_spec_more", "LC_metro", "LC_dogovor_descr", "LC_type", "LC_pay_more", "LC_home_descr", "LC_price_descr"), "FILTER_NAME" => "arr_filter", "FILTER_FIELD_CODE" => array(), "FILTER_PROPERTY_CODE" => array(), "FILTER_PRICE_CODE" => array(), "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "Y", "AJAX_OPTION_HISTORY" => "N", "SEF_FOLDER" => "/catalog/", "SEF_URL_TEMPLATES" => Array( "section" => "#SECTION_ID#/", "element" => "#ELEMENT_CODE#/", "compare" => "compare.php?action=#ACTION_CODE#" ), "VARIABLE_ALIASES" => Array( "section" => Array(), "element" => Array(), "compare" => Array( "ACTION_CODE" => "action" ), ) ) );?><?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?> |