1. PHP / Говнокод #8338

    +167

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 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)?>:&nbsp;<?=$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;?>

    Шаблончик для битрикса, вторая половина доставляет своей магией чисел.

    Запостил: hdkeeper, 28 Октября 2011

    Комментарии (24) RSS

    • Кто лазил в битрикс, тот в цирке не смеется..
      Ответить
    • <? echo 'B'; ?><? echo 'i'; ?><? echo 't'; ?><? echo 'r'; ?><? echo 'i'; ?><? echo 'x'; ?><? echo 'У'; ?><? echo 'Г'; ?>
      За что Bitrix просит за себя такие большие деньги? За то что выше Оо?
      За то как они отделили html разметку от php кода, ай да молодцы, ай да проффи!
      Ответить
      • Код выше писали точно не ребята из битрикса. : )

        Другое дело, что архитектура битрикса ни разу не препятствует такому говнокодерству.
        Ответить
        • Интересно где препятствует ??
          Ответить
          • Там, где в шаблоны или нельзя PHP-код вставлять, или тяжко.
            Smarty, XSLT, Limb-3, phpBB-3, наверно, есть и ещё.
            Ответить
            • Уж лучше это чем Smarty. XLST тоже не все гладко. phpBB-3 не знаю щас загуглю.
              Ответить
              • А что не так со Smarty и XSLT?
                Ответить
                • php сам шаблонизатор зачем еще костыли Смарти.
                  XLST Вот что нашел. С этим согласен.
                  Скудость средств. Странные переменные и рекурсия вместо цикла - это,
                  конечно, красиво с академической точки зрения, но мне-то нужно
                  программировать, а не считать числа Фибоначчи. Нет регулярных
                  выражений (интересно, какой вообще бэкграунд создателей XSLT -
                  Lisp and Java only ?), нет много чего - не случайно появление
                  EXSLT и разнообразных расширений (часто несовместимых) в каждом
                  XSLT-процессоре. DTD и Xpath отделены от XSLT примерно так же,
                  как C-препроцессор отделён от C, то есть, в общем-то вместе всё
                  работает, но есть ситуации, когда нужно помнить, что это разные вещи.
                  Я не понимаю, зачем это нужно в 21 веке.
                  Ответить
                  • > Lisp and Java
                    Промышленные языки для построения больших сложных приложений.

                    > Странные переменные и рекурсия вместо цикла
                    Функциональный подход всегда удобнее там, где происходит обработка неизменяемых данных. Исходный документ не будет изменяться в процессе преобразования, не так ли?

                    > зачем это нужно в 21 веке
                    ты хоть раз работал с SOAP?

                    > не случайно появление EXSLT
                    XSLT иногда сложно использовать, это есть. Тем не менее, вещь очень адекватная и полезная. Товарищи из Apache даже фрэймвёрк написали, основанный на XSLT - Cocoon.

                    Use the right tool for the right job.
                    Ответить
            • Тот. кто говнокодит, будет делать это независимо от языка или технологии.
              Ответить
              • Не умничай. Попробуй побыдлокодить на брейнфаке! Код профи и быдлокодера будет выглядеть одинаково.

                Между тем, функциональные, и тем более вайтспейс-языки, не способствуют былокодингу, тк дисциплинируют и имеют более высокий порог вхождения.
                Ответить
                • Вы прямо демагог какой-то. Брэйнфак прям золотой пример для вас.
                  Если же найдется человек, профессионально программирующий на брейнфаке, то хотите, не хотите, а он-то будет отличать ГК от нормального кода.
                  Ответить
                  • Нука, расскажите нам не говнокодные практики для брейнфака? Или хоть где-то найдите книгу\веб-ресурс, где написано про культуру программирования на брейнфаке? Нет таких, а раз нет, то сколько бы профессионально или хреново человек бы не программировал на нем, то говнокода не будет, тк нет возможности сравнить с эталоном.
                    Ответить
                    • Если код не читаемый постороннему программисту значит быдлокод
                      Ответить
                • Дисциплинируют -- это да, а вот эффекта от "порога вхождения" я не наблюдаю. И на PHP, и на Python, и на bash умудряются один и тот же говнокод писать. Видимо, тут дело в недостаточном понимании особенностей и парадигм используемого языка.
                  Ответить
                  • >PHP, и на Python, и на bash
                    И это функциональные или вайтспейс-языки? ЛОЛ. Разве что питон - вайтспейс.
                    Ответить
                    • Не, это просто разные языки с разными (как некоторые считают) порогом вхождения.
                      Ответить
                      • Все эти языки вполне доступны для школьников, в отличие от тех же Common Lisp и Haskell
                        Ответить
    • не фейк? но даже если и фейк - все равно смешно!
      Ответить
      • К сожалению, production code. -_-
        Но его уже отрефакторили.
        Ответить
    • это бред, такого не может быть
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий