• Чей код чище и удобнее расширятся битрикс или модх?

    MetaDone
    @MetaDone
    Хорошо сформулированный вопрос - 50% решения
    что угодно лучше битрикса. И да простят меня бывалые битриксойды, но лично я с таким месивом работать не намерен.
    Просто кусок кода, который битрикс малый бизнес генерирует после установки в index.php
    spoiler
    <?
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
    $APPLICATION->SetTitle("Интернет-магазин \"Одежда\"");
    ?>
    <h2>Лучшие коллекции</h2>
    <?$APPLICATION->IncludeComponent("bitrix:catalog.top", "", array(
    		"IBLOCK_TYPE_ID" => "catalog",
    		"IBLOCK_ID" => "2",
    		"ELEMENT_SORT_FIELD" => "name",
    		"ELEMENT_SORT_ORDER" => "asc",
    		"ELEMENT_SORT_FIELD2" => "name",
    		"ELEMENT_SORT_ORDER2" => "asc",
    		"HIDE_NOT_AVAILABLE" => "N",
    		"ELEMENT_COUNT" => "8",
    		"LINE_ELEMENT_COUNT" => "4",
    		"PROPERTY_CODE" => array(0=>"MINIMUM_PRICE",1=>"MAXIMUM_PRICE",2=>"",),
    		"OFFERS_FIELD_CODE" => array(0=>"NAME",1=>"",),
    		"OFFERS_PROPERTY_CODE" => array(0=>"ARTNUMBER",1=>"COLOR_REF",2=>"SIZES_SHOES",3=>"SIZES_CLOTHES",4=>"MORE_PHOTO",5=>"",),
    		"OFFERS_SORT_FIELD" => "sort",
    		"OFFERS_SORT_ORDER" => "asc",
    		"OFFERS_SORT_FIELD2" => "id",
    		"OFFERS_SORT_ORDER2" => "desc",
    		"OFFERS_LIMIT" => "0",
    		"VIEW_MODE" => "SLIDER",
    		"TEMPLATE_THEME" => "site",
    		"PRODUCT_DISPLAY_MODE" => "Y",
    		"ADD_PICT_PROP" => "MORE_PHOTO",
    		"LABEL_PROP" => "NEWPRODUCT",
    		"OFFER_ADD_PICT_PROP" => "MORE_PHOTO",
    		"OFFER_TREE_PROPS" => array(0=>"COLOR_REF",1=>"SIZES_SHOES",2=>"SIZES_CLOTHES",),
    		"SHOW_DISCOUNT_PERCENT" => "Y",
    		"SHOW_OLD_PRICE" => "Y",
    		"ROTATE_TIMER" => "30",
    		"MESS_BTN_BUY" => "Купить",
    		"MESS_BTN_ADD_TO_BASKET" => "В корзину",
    		"MESS_BTN_DETAIL" => "Подробнее",
    		"MESS_NOT_AVAILABLE" => "Нет в наличии",
    		"SECTION_URL" => "",
    		"DETAIL_URL" => "",
    		"BASKET_URL" => "/personal/cart/",
    		"ACTION_VARIABLE" => "action",
    		"PRODUCT_ID_VARIABLE" => "id_slider",
    		"PRODUCT_QUANTITY_VARIABLE" => "quantity",
    		"PRODUCT_PROPS_VARIABLE" => "prop",
    		"SECTION_ID_VARIABLE" => "SECTION_ID",
    		"CACHE_TYPE" => "A",
    		"CACHE_TIME" => "180",
    		"CACHE_GROUPS" => "Y",
    		"DISPLAY_COMPARE" => "N",
    		"PRICE_CODE" => array(0=>"BASE",),
    		"USE_PRICE_COUNT" => "N",
    		"SHOW_PRICE_COUNT" => "1",
    		"PRICE_VAT_INCLUDE" => "Y",
    		"PRODUCT_PROPERTIES" => array(),
    		"USE_PRODUCT_QUANTITY" => "Y",
    		"CONVERT_CURRENCY" => "N",
    		"OFFERS_CART_PROPERTIES" => array(0=>"ARTNUMBER",1=>"COLOR_REF",2=>"SIZES_SHOES",3=>"SIZES_CLOTHES",)
    	),
    	false
    );?>
    <h2>Тренды сезона</h2>
    <?$APPLICATION->IncludeComponent(
    	"bitrix:catalog.top",
    	"",
    	Array(
    		"IBLOCK_TYPE" => "catalog",
    		"IBLOCK_ID" => "2",
    		"VIEW_MODE" => "SECTION",
    		"TEMPLATE_THEME" => "site",
    		"PRODUCT_DISPLAY_MODE" => "Y",
    		"ADD_PICT_PROP" => "MORE_PHOTO",
    		"LABEL_PROP" => "NEWPRODUCT",
    		"OFFER_ADD_PICT_PROP" => "MORE_PHOTO",
    		"OFFER_TREE_PROPS" => array("COLOR_REF", "SIZES_SHOES", "SIZES_CLOTHES"),
    		"SHOW_DISCOUNT_PERCENT" => "Y",
    		"SHOW_OLD_PRICE" => "Y",
    		"MESS_BTN_BUY" => "Купить",
    		"MESS_BTN_ADD_TO_BASKET" => "В корзину",
    		"MESS_BTN_DETAIL" => "Подробнее",
    		"MESS_NOT_AVAILABLE" => "Нет в наличии",
    		"ELEMENT_SORT_FIELD" => "sort",
    		"ELEMENT_SORT_ORDER" => "asc",
    		"ELEMENT_SORT_FIELD2" => "name",
    		"ELEMENT_SORT_ORDER2" => "asc",
    		"SECTION_URL" => "",
    		"DETAIL_URL" => "",
    		"BASKET_URL" => "/personal/cart/",
    		"ACTION_VARIABLE" => "action",
    		"PRODUCT_ID_VARIABLE" => "id_section",
    		"PRODUCT_QUANTITY_VARIABLE" => "quantity",
    		"PRODUCT_PROPS_VARIABLE" => "prop",
    		"SECTION_ID_VARIABLE" => "SECTION_ID",
    		"DISPLAY_COMPARE" => "N",
    		"ELEMENT_COUNT" => "12",
    		"LINE_ELEMENT_COUNT" => "4",
    		"PROPERTY_CODE" => array("MINIMUM_PRICE", "MAXIMUM_PRICE"),
    		"OFFERS_FIELD_CODE" => array("NAME"),
    		"OFFERS_PROPERTY_CODE" => array("ARTNUMBER", "COLOR_REF", "SIZES_SHOES", "SIZES_CLOTHES", "MORE_PHOTO"),
    		"OFFERS_SORT_FIELD" => "sort",
    		"OFFERS_SORT_ORDER" => "asc",
    		"OFFERS_SORT_FIELD2" => "id",
    		"OFFERS_SORT_ORDER2" => "desc",
    		"OFFERS_LIMIT" => "0",
    		"PRICE_CODE" => array("BASE"),
    		"USE_PRICE_COUNT" => "N",
    		"SHOW_PRICE_COUNT" => "1",
    		"PRICE_VAT_INCLUDE" => "Y",
    		"PRODUCT_PROPERTIES" => array(),
    		"USE_PRODUCT_QUANTITY" => "Y",
    		"CACHE_TYPE" => "A",
    		"CACHE_TIME" => "180",
    		"CACHE_GROUPS" => "Y",
    		"HIDE_NOT_AVAILABLE" => "N",
    		"CONVERT_CURRENCY" => "N",
    		"OFFERS_CART_PROPERTIES" => array("ARTNUMBER", "COLOR_REF", "SIZES_SHOES", "SIZES_CLOTHES")
    	)
    );?>
    <?$APPLICATION->IncludeComponent("bitrix:sale.bestsellers", ".default", array(
    		"HIDE_NOT_AVAILABLE" => "N",
    		"SHOW_DISCOUNT_PERCENT" => "Y",
    		"PRODUCT_SUBSCRIPTION" => "Y",
    		"SHOW_NAME" => "Y",
    		"SHOW_IMAGE" => "Y",
    		"MESS_BTN_BUY" => "Купить",
    		"MESS_BTN_DETAIL" => "Подробнее",
    		"MESS_NOT_AVAILABLE" => "Нет в наличии",
    		"MESS_BTN_SUBSCRIBE" => "Подписаться",
    		"PAGE_ELEMENT_COUNT" => "4",
    		"LINE_ELEMENT_COUNT" => "4",
    		"TEMPLATE_THEME" => "site",
    		"DETAIL_URL" => "",
    		"AJAX_MODE" => "N",
    		"AJAX_OPTION_JUMP" => "N",
    		"AJAX_OPTION_STYLE" => "Y",
    		"AJAX_OPTION_HISTORY" => "N",
    		"CACHE_TYPE" => "A",
    		"CACHE_TIME" => "86400",
    		"BY" => "AMOUNT",
    		"PERIOD" => "30",
    		"FILTER" => array(
    			0 => "CANCELED",
    			1 => "ALLOW_DELIVERY",
    			2 => "PAYED",
    			3 => "DEDUCTED",
    			4 => "N",
    			5 => "P",
    			6 => "F",
    		),
    		"DISPLAY_COMPARE" => "N",
    		"SHOW_OLD_PRICE" => "N",
    		"PRICE_CODE" => array(
    			0 => "BASE",
    		),
    		"SHOW_PRICE_COUNT" => "1",
    		"PRICE_VAT_INCLUDE" => "Y",
    		"CONVERT_CURRENCY" => "N",
    		"BASKET_URL" => "/personal/cart/",
    		"ACTION_VARIABLE" => "action",
    		"PRODUCT_ID_VARIABLE" => "id",
    		"PRODUCT_QUANTITY_VARIABLE" => "quantity",
    		"ADD_PROPERTIES_TO_BASKET" => "Y",
    		"PRODUCT_PROPS_VARIABLE" => "prop",
    		"PARTIAL_PRODUCT_PROPERTIES" => "N",
    		"USE_PRODUCT_QUANTITY" => "N",
    		"SHOW_PRODUCTS_2" => "Y",
    		"CART_PROPERTIES_2" => array(
    			0 => "BRAND_REF",
    			1 => "NEWPRODUCT",
    			2 => "SALELEADER",
    			3 => "",
    		),
    		"ADDITIONAL_PICT_PROP_2" => "MORE_PHOTO",
    		"LABEL_PROP_2" => "SALELEADER",
    		"CART_PROPERTIES_3" => array(
    			0 => "COLOR_REF",
    			1 => "SIZES_SHOES",
    			2 => "SIZES_CLOTHES",
    			3 => "",
    		),
    		"ADDITIONAL_PICT_PROP_3" => "MORE_PHOTO",
    		"OFFER_TREE_PROPS_3" => array(
    			0 => "COLOR_REF",
    			1 => "SIZES_SHOES",
    			2 => "SIZES_CLOTHES",
    		),
    		"AJAX_OPTION_ADDITIONAL" => ""
    	)
    );?>
    <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>


    Еще вся эта ересь безбожно терзает БД.
    А если глянуть ядро - то там несмотря на всякие придуманные штуки типа пространств имен, трейтов и т.п. до сих пор глобальные переменные и куча констант. Есть классы, методы в которых непонятно зачем оборачивают суперглобальные массивы. В общем смотрите сами, это чисто мое мнение и я не собираюсь работать с битриксом, чего и вам желаю
    Ответ написан
    4 комментария