- 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;?>
Шаблончик для битрикса, вторая половина доставляет своей магией чисел.
belukov 28.10.2011 14:20 # +8
nethak 28.10.2011 14:55 # 0
За что Bitrix просит за себя такие большие деньги? За то что выше Оо?
За то как они отделили html разметку от php кода, ай да молодцы, ай да проффи!
hdkeeper 28.10.2011 14:57 # +1
Другое дело, что архитектура битрикса ни разу не препятствует такому говнокодерству.
Vasiliy 28.10.2011 15:25 # 0
hdkeeper 28.10.2011 15:29 # 0
Smarty, XSLT, Limb-3, phpBB-3, наверно, есть и ещё.
Vasiliy 28.10.2011 15:36 # 0
hdkeeper 28.10.2011 15:48 # 0
Vasiliy 28.10.2011 16:56 # +1
XLST Вот что нашел. С этим согласен.
Скудость средств. Странные переменные и рекурсия вместо цикла - это,
конечно, красиво с академической точки зрения, но мне-то нужно
программировать, а не считать числа Фибоначчи. Нет регулярных
выражений (интересно, какой вообще бэкграунд создателей XSLT -
Lisp and Java only ?), нет много чего - не случайно появление
EXSLT и разнообразных расширений (часто несовместимых) в каждом
XSLT-процессоре. DTD и Xpath отделены от XSLT примерно так же,
как C-препроцессор отделён от C, то есть, в общем-то вместе всё
работает, но есть ситуации, когда нужно помнить, что это разные вещи.
Я не понимаю, зачем это нужно в 21 веке.
roman-kashitsyn 28.10.2011 17:05 # 0
Промышленные языки для построения больших сложных приложений.
> Странные переменные и рекурсия вместо цикла
Функциональный подход всегда удобнее там, где происходит обработка неизменяемых данных. Исходный документ не будет изменяться в процессе преобразования, не так ли?
> зачем это нужно в 21 веке
ты хоть раз работал с SOAP?
> не случайно появление EXSLT
XSLT иногда сложно использовать, это есть. Тем не менее, вещь очень адекватная и полезная. Товарищи из Apache даже фрэймвёрк написали, основанный на XSLT - Cocoon.
Use the right tool for the right job.
SmackMyBitchUp 29.10.2011 12:20 # +4
anonimb84a2f6fd141 12.07.2013 16:54 # 0
>Промышленные языки для построения больших сложных приложений.
Орлы?
i-- 29.10.2011 00:32 # 0
AnimeGovno-_- 29.10.2011 01:04 # −4
Между тем, функциональные, и тем более вайтспейс-языки, не способствуют былокодингу, тк дисциплинируют и имеют более высокий порог вхождения.
SmackMyBitchUp 29.10.2011 12:23 # 0
Если же найдется человек, профессионально программирующий на брейнфаке, то хотите, не хотите, а он-то будет отличать ГК от нормального кода.
AnimeGovno-_- 29.10.2011 17:36 # −2
guest 12.07.2013 13:18 # +1
hdkeeper 29.10.2011 12:25 # 0
AnimeGovno-_- 29.10.2011 17:33 # −1
И это функциональные или вайтспейс-языки? ЛОЛ. Разве что питон - вайтспейс.
hdkeeper 29.10.2011 21:37 # 0
roman-kashitsyn 30.10.2011 01:00 # +2
ZX_Spectrum 28.10.2011 21:35 # 0
hdkeeper 28.10.2011 21:44 # 0
Но его уже отрефакторили.
guest 21.12.2012 11:25 # 0
guest8 09.04.2019 11:50 # −999