- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
<?foreach($arResult["ITEMS"] as $arItem):?>
<p class="news-item" id="<?=$this->GetEditAreaId($arItem['ID']);?>">
<?if($arParams["DISPLAY_PICTURE"]!="N" && is_array($arItem["PREVIEW_PICTURE"])):?>
<?if(!$arParams["HIDE_LINK_WHEN_NO_DETAIL"] || ($arItem["DETAIL_TEXT"] && $arResult["USER_HAVE_ACCESS"])):?>
<p class="align-center"><a href="<?=$arItem["DETAIL_PAGE_URL"]?>"><img class="preview_picture" border="0" src="<?=$arItem["PREVIEW_PICTURE"]["SRC"]?>" alt="<?=$arItem["NAME"]?>" height="252px" width="189px" title="<?=$arItem["NAME"]?>" style="float:left" /></a></p>
<?else:?>
<p class="align-center"><img class="preview_picture" border="0" src="<?=$arItem["PREVIEW_PICTURE"]["SRC"]?>" height="252px" width="189px" alt="<?=$arItem["NAME"]?>" title="<?=$arItem["NAME"]?>" style="float:left" /></p>
<?endif;?>
<?endif?>
<?if($arParams["DISPLAY_DATE"]!="N" && $arItem["DISPLAY_ACTIVE_FROM"]):?>
<span class="news-date-time"><?echo $arItem["DISPLAY_ACTIVE_FROM"]?></span>
<?endif?>
<?if($arParams["DISPLAY_NAME"]!="N" && $arItem["NAME"]):?>
<?if(!$arParams["HIDE_LINK_WHEN_NO_DETAIL"] || ($arItem["DETAIL_TEXT"] && $arResult["USER_HAVE_ACCESS"])):?>
<a href="<?echo $arItem["DETAIL_PAGE_URL"]?>"><b><?echo $arItem["NAME"]?></b></a><br />
<?else:?>
<?endif;?>
<?endif;?>
<?if($arParams["DISPLAY_PREVIEW_TEXT"]!="N" && $arItem["PREVIEW_TEXT"]):?>
<?echo $arItem["PREVIEW_TEXT"];?>
<?endif;?>
<?if($arParams["DISPLAY_PICTURE"]!="N" && is_array($arItem["PREVIEW_PICTURE"])):?>
<?endif?>
<?foreach($arItem["FIELDS"] as $code=>$value):?>
<p class="Parad"><?=GetMessage("IBLOCK_FIELD_".$code)?>: <?=$value;?></p>
<?endforeach;$a=0;?>
<?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<?$b=0;?>
<?if(is_array($arProperty["DISPLAY_VALUE"])):?>
<?else:?>
<? if($a==7) { if($b!=1){ ?>
<? $a=$a+1;$b=1;} }?>
<? if($a==0) { if($b!=1){ $s=$arProperty["DISPLAY_VALUE"];?>
<?if($sity_shop!=$s)
{?>
<?=$arProperty["DISPLAY_VALUE"];
$i=$i+1;
$sity_shop = $s;?><br>
<?}?>
<? $a=$a+1;$b=1;} }?>
<?if($a==2) { if($arItem["PROPERTIES"]["NEW"]["VALUE"]=='Y') {?>
<a href=""><img src="/bitrix/templates/parad/img/other/new-salon.png"/></a>
<? $a=$a+1;$b=1; }?> </p> <? }?>
<?if($a==5) { if($b!=1){ if($arItem["PROPERTIES"]["MASTERCARD"]["VALUE"]=='Y') {?>
<? }}$a=$a+1;$b=1; } ?>
<?if($a==6) { if($b!=1){ if($arItem["PROPERTIES"]["VISA"]["VALUE"]=='Y') {?>
<? }?>
<? }$a=$a+1;$b=1; } ?>
<?if($a==1) { if($b!=1){ ?>
<a href="<?echo $arItem['DETAIL_PAGE_URL'];?>"><?=$arProperty["DISPLAY_VALUE"];?></a>
<? $a=$a+1;$b=1;} }?>
<?if($a!=2) { if($b!=1){ ?>
<? $a=$a+1;$b=1;} }?>
<?endif?>
<?endforeach;?>
<?endforeach;?>
Шаблончик для битрикса, вторая половина доставляет своей магией чисел.
За что Bitrix просит за себя такие большие деньги? За то что выше Оо?
За то как они отделили html разметку от php кода, ай да молодцы, ай да проффи!
Другое дело, что архитектура битрикса ни разу не препятствует такому говнокодерству.
Smarty, XSLT, Limb-3, phpBB-3, наверно, есть и ещё.
XLST Вот что нашел. С этим согласен.
Скудость средств. Странные переменные и рекурсия вместо цикла - это,
конечно, красиво с академической точки зрения, но мне-то нужно
программировать, а не считать числа Фибоначчи. Нет регулярных
выражений (интересно, какой вообще бэкграунд создателей XSLT -
Lisp and Java only ?), нет много чего - не случайно появление
EXSLT и разнообразных расширений (часто несовместимых) в каждом
XSLT-процессоре. DTD и Xpath отделены от XSLT примерно так же,
как C-препроцессор отделён от C, то есть, в общем-то вместе всё
работает, но есть ситуации, когда нужно помнить, что это разные вещи.
Я не понимаю, зачем это нужно в 21 веке.
Промышленные языки для построения больших сложных приложений.
> Странные переменные и рекурсия вместо цикла
Функциональный подход всегда удобнее там, где происходит обработка неизменяемых данных. Исходный документ не будет изменяться в процессе преобразования, не так ли?
> зачем это нужно в 21 веке
ты хоть раз работал с SOAP?
> не случайно появление EXSLT
XSLT иногда сложно использовать, это есть. Тем не менее, вещь очень адекватная и полезная. Товарищи из Apache даже фрэймвёрк написали, основанный на XSLT - Cocoon.
Use the right tool for the right job.
>Промышленные языки для построения больших сложных приложений.
Орлы?
Между тем, функциональные, и тем более вайтспейс-языки, не способствуют былокодингу, тк дисциплинируют и имеют более высокий порог вхождения.
Если же найдется человек, профессионально программирующий на брейнфаке, то хотите, не хотите, а он-то будет отличать ГК от нормального кода.
И это функциональные или вайтспейс-языки? ЛОЛ. Разве что питон - вайтспейс.
Но его уже отрефакторили.