Автор: amdy

Шаблонизация: Что, где, как

Вопрос о шаблонах подобен священной войне за веру, он вызывает потоки флейма на форумах, блогах, конфернциях… Что такое шаблон? Это заготока для отображения входных данных. Его основная задача определить где, что и как будет находиться.Вроде всё просто  и понятно, но когда мы начинает отделять логику от представления возникает много вопросов о разделении полномочий. И так человек приходит, либо не приходит к понятию логика предсталения. После этого становится мало и человек начинает использоать актиные шаблоны и постепенно приходит к понятию view. Попытаюсь рассмотреть типичные задачи возлагаемые на шаблоны. Где. С помощью специальных знаков мы указываем где должна происходить встака. Т.к. php изначально был навёрнытым щаблонизатором, то примеры будут на нём, а не специализированых шаблонизаторах. вставить после данного текста <?=$var?>, а не после этого. Что. Вот и первый краеугольный камень. Если вставлять простые переменные, то подходит чисто пример выше. Но в реальных задачах приходится выводить массивы, данные из объектов. Некоторые предпочитают для массивов гонять цикл непосредственно в php, чтобы не использоать for или foreach в шаблонах. Выглядит примерно так. $blockVar = »; foreach($data AS $v) { $blockVar .= temlateFetch(‘list.tpl’, array(‘var’ => $v)); } templateAssign(‘var’, $blockVar); Мало того что это неудобно, так ещё и нарушает концепцию разделения логики. Куда проще делать это в шаблоне, тем более при вёрстке придётся менять только шаблон и не нужно лезть в код, чтобы узнать какой шаблон использоался для блочной переменной <?php foreach($data AS $v) { ?> <div><?=$v?></div> <?php } ?> Как. Считаю глупым чтобы программист указывал верстальщику как нужно обработать переменную чтобы её ставить. Очень часто имеено при вёрстке видно нужно ли обрабатыать html теги, какой должен быть перевод строки, на сколько обрезать длинную строку. Допустим, администратор в textarea ввёл текст, который сохранился в базу данных, затем при выводе, если мы всталяем её в textarea, то делаем <textarea><?=$var?></textarea> , а если в p <p><?=nl2br($var)?></p> %RELATEDPOSTS%

Читать далее »

Формы и Safari

Сегодня с прискорбием узнал, что мои чудо формы не работают в safari. Но причину нашёл довольно быстро, я при создании форм не прописываю action, оставляя его пустым. Но в данной бродилке при сабмите я поподаю на гланую страницу, согласно <base href=»адрес» />. Что ж переделаю генератор форм. Но есть и радосная новость, весь javascript код на prototype работает, включая вертикальные и горизонтальные скролы на которые я убил столько времени. Надеюсь в ближайшее время выложу получившуюся фотогалерею на prototype.

Читать далее »

Немножко о траблах

С появлением сайта получилось не так просто как расчитывал, домен amdy.su прикупил раньше на http://domains.webmoney.ru/, а вот хостинг заказал позже на http://masterhost.ru/, прописал dns в админке регистратора домена. После этого небольшой релакс в ожидании когда уже всё заработает, но … . Время шло, а домен так и не привязался. Последовало письмо в саппорт, мне ответили, что нужно выждать хотябы 72 часа. Ждал, нервничал, так как расчитывал залить текущий проект для показа заказчику на новый домен. После трёх дней решил сделать финт ушми и зарегистрировал ещё один домен, через 4 часа уже всё работало. А вот amdy.su завёлся только спустя неделю.

Читать далее »

Дождался

После долгих раздумий, зарегистрироавл домен, прикупил хостинг, поставил WordPress. Взбодрись мир, вскоре появится ещё один поток бесполезных мыслей.

Читать далее »