Добрый вечер.
С битриксом знаком недавно, специально зарегистрировался, чтобы задать вопрос)
Он состоит из 2х частей.
1. Почему код в компонентах порой так плохо форматирован? Всё просто смешано в кашу, не разбито на блоки, отступы стоят как попало и тд. Из-за этого же снижается скорость понимания работы, и как следствие разработки. Такое бывает, к примеру, в платных и бесплатных решениях с маркетплейса.
2. Как вы с этим живете?)
Форматируете, нет, может есть то, о чём я не знаю?
Как пример, привожу часть шаблона. На мой взгляд это выглядит как нагромождение. Ниже привожу пример, как отформатировал бы я на скорую руку
<?if(($arParams["DISPLAY_WISH_BUTTONS"] != "N") || ($arParams["DISPLAY_COMPARE"] == "Y")):?>
<div class="like_icons iblock">
<?if($arParams["DISPLAY_WISH_BUTTONS"] != "N"):?>
<?if(!$arResult["OFFERS"]):?>
<div class="wish_item text" data-item="<?=$arResult["ID"]?>" data-iblock="<?=$arResult["IBLOCK_ID"]?>">
<span class="value pseudo" title="<?=GetMessage('CT_BCE_CATALOG_IZB')?>" ><span><?=GetMessage('CT_BCE_CATALOG_IZB')?></span></span>
<span class="value pseudo added" title="<?=GetMessage('CT_BCE_CATALOG_IZB_ADDED')?>"><span><?=GetMessage('CT_BCE_CATALOG_IZB_ADDED')?></span></span>
</div>
<?elseif($arResult["OFFERS"] && $arParams["TYPE_SKU"] === 'TYPE_1' && !empty($arResult['OFFERS_PROP'])):?>
<div class="wish_item text " data-item="<?=$arResult["ID"]?>" data-iblock="<?=$arResult["IBLOCK_ID"]?>" <?=(!empty($arResult['OFFERS_PROP']) ? 'data-offers="Y"' : '');?> data-props="<?=$arOfferProps?>">
<span class="value pseudo <?=$arParams["TYPE_SKU"];?>" title="<?=GetMessage('CT_BCE_CATALOG_IZB')?>"><span><?=GetMessage('CT_BCE_CATALOG_IZB')?></span></span>
<span class="value pseudo added <?=$arParams["TYPE_SKU"];?>" title="<?=GetMessage('CT_BCE_CATALOG_IZB_ADDED')?>"><span><?=GetMessage('CT_BCE_CATALOG_IZB_ADDED')?></span></span>
</div>
<?endif;?>
<?endif;?>
<?if($arParams["DISPLAY_COMPARE"] == "Y"):?>
<?if(!$arResult["OFFERS"] || ($arResult["OFFERS"] && $arParams["TYPE_SKU"] === 'TYPE_1' && !$arResult["OFFERS_PROP"])):?>
<div data-item="<?=$arResult["ID"]?>" data-iblock="<?=$arResult["IBLOCK_ID"]?>" data-href="<?=$arResult["COMPARE_URL"]?>" class="compare_item text <?=($arResult["OFFERS"] ? $arParams["TYPE_SKU"] : "");?>" id="<? echo $arItemIDs["ALL_ITEM_IDS"]['COMPARE_LINK']; ?>">
<span class="value pseudo" title="<?=GetMessage('CT_BCE_CATALOG_COMPARE')?>"><span><?=GetMessage('CT_BCE_CATALOG_COMPARE')?></span></span>
<span class="value pseudo added" title="<?=GetMessage('CT_BCE_CATALOG_COMPARE_ADDED')?>"><span><?=GetMessage('CT_BCE_CATALOG_COMPARE_ADDED')?></span></span>
</div>
<?elseif($arResult["OFFERS"] && $arParams["TYPE_SKU"] === 'TYPE_1'):?>
<div data-item="<?=$arResult["ID"]?>" data-iblock="<?=$arResult["IBLOCK_ID"]?>" data-href="<?=$arResult["COMPARE_URL"]?>" class="compare_item text <?=$arParams["TYPE_SKU"];?>">
<span class="value pseudo" title="<?=GetMessage('CT_BCE_CATALOG_COMPARE')?>"><span><?=GetMessage('CT_BCE_CATALOG_COMPARE')?></span></span>
<span class="value pseudo added" title="<?=GetMessage('CT_BCE_CATALOG_COMPARE_ADDED')?>"><span><?=GetMessage('CT_BCE_CATALOG_COMPARE_ADDED')?></span></span>
</div>
<?endif;?>
<?endif;?>
</div>
<?endif;?>
ПРИМЕР КАК СДЕЛАЛ БЫ Я<?
if ( $arParams["DISPLAY_WISH_BUTTONS"] != "N" ) {
if( !$arResult["OFFERS"] ) {
?>
<div
class="wish_item text"
data-item="<?=$arResult["ID"]?>"
data-iblock="<?=$arResult["IBLOCK_ID"]?>"
>
<span
class="value pseudo"
title="<?=GetMessage('CT_BCE_CATALOG_IZB')?>"
>
<span>
<?=GetMessage('CT_BCE_CATALOG_IZB')?>
</span>
</span>
<span
class="value pseudo added"
title="<?=GetMessage('CT_BCE_CATALOG_IZB_ADDED')?>"
>
<span>
<?=GetMessage('CT_BCE_CATALOG_IZB_ADDED')?>
</span>
</span>
</div>
<?
} elseif (
$arResult["OFFERS"]
&&
$arParams["TYPE_SKU"] === 'TYPE_1'
&&
!empty( $arResult['OFFERS_PROP'] )
) {
?>
<div
class="wish_item text "
data-item="<?=$arResult["ID"]?>"
data-iblock="<?=$arResult["IBLOCK_ID"]?>"
<?=(!empty($arResult['OFFERS_PROP']) ? 'data-offers="Y"' : '');?> data-props="<?=$arOfferProps?>"
>
<span
class="value pseudo <?=$arParams["TYPE_SKU"];?>"
title="<?=GetMessage('CT_BCE_CATALOG_IZB')?>"
>
<span>
<?=GetMessage('CT_BCE_CATALOG_IZB')?>
</span>
</span>
<span
class="value pseudo added <?=$arParams["TYPE_SKU"];?>"
title="<?=GetMessage('CT_BCE_CATALOG_IZB_ADDED')?>"
>
<span>
<?=GetMessage('CT_BCE_CATALOG_IZB_ADDED')?>
</span>
</span>
</div>
<?
}
}
?>