@pavelmosin

Bitrix. Правильная кастомизация шаблонов?

Добрый вечер.
С битриксом знаком недавно, специально зарегистрировался, чтобы задать вопрос)
Он состоит из 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>
			<?
		}
	}
?>
  • Вопрос задан
  • 272 просмотра
Решения вопроса 1
sabramovskikh
@sabramovskikh
Просто никто не пользуется стандартными шаблонами, у всех свои наработки.
Стандартный шаблон создан только для людей, которые никогда и не полезут в код.
Ну уж если нужно отформатировать - phpStorm с этим отлично справляется
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@anton99zel Куратор тега 1С-Битрикс
29а класс средней школы №7
Почему код в компонентах порой так плохо форматирован

Вы будете еще более шокированы, пока изучаете битрикс
Как вы с этим живете?
Если только с этим и жить, то дело привычки. Мне, например, ваша "многоэтажка" тоже глаза режет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы