За последние 24 часа нас посетил 35531 программист и 1819 роботов. Сейчас ищет 831 программист ...

Шаблонизирование

Тема в разделе "PHP для новичков", создана пользователем Ігор, 17 фев 2009.

  1. Ігор

    Ігор Активный пользователь

    С нами с:
    7 апр 2008
    Сообщения:
    195
    Симпатии:
    0
    Шаблоны у меня получаются "пронизаны" таким быдлокодом
    PHP:
    1.  
    2.  <?php if ($ek->folders->getCurrent('f_deskr'))
    3.    echo "<h5>". $ek->folders->getCurrent('f_deskr') ."</h5>";
    4.  ?>
    5.  
    (Это часть именно шаблона!)
    Как сдалеть более красиво?
    Дело в том, что к h5(В этом случае) применены стили (обрамление и т.д.) Поэтому если просто echo "<h5>". $ek->folders->getCurrent('f_deskr') ."</h5>"; в случае "пустого" результата функции получаются некрасивые и ненужные две горизонтальные линии.
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. <?php if ($ek->folders->getCurrent('f_deskr')):?>
    2.     <h5><?php print $ek->folders->getCurrent('f_deskr')?></h5>
    3. <?php endif?>
    %)

    Ну и ещё избавится от этих длинных имён
    PHP:
    1. <?php if ($f_deskr):?>
    2.     <h5><?php print $f_deskr?></h5>
    3. <?php endif?>
     
  3. Alost

    Alost Активный пользователь

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    Что то сильно красивей помоему не стало)))
     
  4. Ігор

    Ігор Активный пользователь

    С нами с:
    7 апр 2008
    Сообщения:
    195
    Симпатии:
    0
    По-моему тоже.
    И логика так и осталась в шаблонах :(
    Каким образом?
    $ek->folders->getCurrent('f_deskr') перейти к f_deskr???
     
  5. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    а ты готов к переносу логики в код?

    я откуда знаю что у тебя за шаблонизатор?
     
  6. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    Есть так называемая "бизнес" логика, а есть логика отображения и она вполне имеет право быть в шаблонах :)
     
  7. Ігор

    Ігор Активный пользователь

    С нами с:
    7 апр 2008
    Сообщения:
    195
    Симпатии:
    0
    Шаблоны просто вызывают функции "основного" сласса. которые возвращают нужные строковые значения.
     
  8. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    А ты попробуй немного изменить подход и передавать переменные в шаблон самостоятельно. Твой подход тоже можно использовать, но в данном случаем он мне кажется не актуальным.
     
  9. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    а ещё есть замечательная функция extract()