1. Куча / Говнокод #2460

    +129.4

    1. 1
    2. 2
    3. 3
    <a class="btn" href="#" onclick="{if $client->getId()}xmlrpc_choose_playlist(this,{$mp3->getId()},1,'top_month_mp3');return false;{else}xmlrpc_load_popup('login', null);{/if}">
    <img src="views/default/images/add.gif" width="8" height="8" alt="Добавить в плейлист" title="Добавить в плейлист" />
    </a>

    Это кусок смартявского шаблона
    Типа песенку в плейлист добавляем


    а иногда таких песен на странице ни одна сотня )))

    Запостил: paranoid, 20 Января 2010

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

    • С нормальным мозгом и jQuery это сокращается раза в 3-4.
      Ответить
    • в чем говнокод? в том, что есть инлайн обработчик onclick?
      а как иначе? с учетом того, что у каждой функции свой аргумент в виде {$mp3->getId()}
      Ответить
      • а низя сразу все данные кинуть в json, а потом с jquery повесить событие на onclick?
        Ответить
        • а как определить к какому элементу вешать тот или иной элемент json? по порядку?
          Ответить
          • Можно по порядку, можно по id, можно вообще эти ссылки при выполнении создавать.
            Ответить
            • а если жс отключен?
              Ответить
              • если отключен, то и инлайн обработчик onclick сцуко не выполнится ;)
                Ответить
                • я про третий вариант, когда ссылки создаются при загрузке страницы
                  Ответить
              • js - стандарт де факто, а если пользователь слепой? 0-о
                Ответить
                • В идеале сайт должен работать и без жс, а уже всякие вкусности добавляются через него.
                  Попробуйте, скажем, запустить Говнокод.ру без жс. Всё будет работать, хоть и не так красиво
                  Ответить
                  • это не всегда реально сделать, если речь идёт, например, о нагруженном яваскриптами сайтом с медиа-контентом, хоть и признак хорошего тона..
                    Ответить
                    • но в приведённом мной примере это можно было элементарно сделать
                      Ответить
          • показать все, что скрытоа не надо ничего определять, весь контент должен быть привязан к js
            Ответить
    • Все нормально, шеф.
      Ответить
    • Плюсанул и вот почему:
      в xmlrpc_choose_playlist достаточно просто передать this а не плодить повторяющиеся переменные по шалблону. Это тот же "китайский" подход, только немного замаскированый.
      Ответить

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