Jump to content

MVH

Newbie
  • Posts

    5
  • Joined

  • Last visited

MVH's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Вы о ч?м? Какие шаблоны Вы с помощью классов и функций реализовать хотите? Поясните.
  2. Да, писал. realto.ru как раз я и писал (кстати эту тему-то и наш?л увидев переходы в статистике). Если что понадобится, то пиши на mvh@list.ru.
  3. На мой взгляд лучше всего все запросы перенаправлять одному главному скрипту-контроллеру, который будет в зависимости от переданных параметров (если адрес вида index.php?page=contacts) или от строки адреса (/contacts/) выбирать нужную страницу (дерево разделов хранится в базе или ещ? где), выбирать шаблон для этой страницы, заполнять шаблон контентом данной страницы и выдавать пользователю обработанную страницу. Т.е. имеется, например, один шаблон для всего сайта. В н?м в разных местах (на месте правой и левой колонки и центральной части) стоят смарти теги вида {include file=$_center_part}. Когда вызывается страница, находится этот главный шаблон сайта для не?, переменным вида $_center_part задаются адреса файлов (шаблонов смарти), содержащих контент для данной выбранной страницы (index.php?page=contacts), вс? это дело скармливается смарти и получаем результат! При этом конструкции вида: {send_mail var="result" theme="Тема письма" to="qwe@qwe.ru"} тут шаблон {/send_mail} можно писать и в главном шаблоне и подшаблонах для каждой страницы.
  4. Мне понравилась. Очень хорошо вс? описано, особенно понравились 2 главы про шаблонизаторы. Я из-за них В общем-то книгу и покупал. Но вс? остальное тоже стоит почитать. Вс? зависит от Вашего уровня. Посмотрите содержание и решайте: http://www.books.ru/shop/books/233988
  5. В книге Д. Котерова и А. Костар?ва PHP 5 в самом конце есть глава, описывающая способ использования компонентного подхода с помощью смарти. Принцип такой: в смарти можно регистрировать собственные блоки вида: {send_mail var="result" theme="Тема письма" to="qwe@qwe.ru"} тут шаблон {/send_mail} Смарти разобрав данную конструкцию вызовет функцию send_mail($theme, $to) (а лучше оформить один модуль в виде класса и вызывать какой-нибудь метод по умолчанию, например main()), которую мы до этого определили, которая верн?т массив значений необходимых в шаблоне и запишет их в смартевскую переменную $result, которая будет доступна в шаблоне. Например: {send_mail var="result" theme="Тема письма" to="q!!we@qweru"} Теперь доступна переменная смарти {$result}, которая содержит, например массив значений: 'is_send' => 1 'error' => 'invalid_mail' И теперь мы можем вывести соответствующий текст в зависимости от значения переменных. {if $result.is_send == 1} Письмо отправлено {else} Ошибка при отправке: {if $result.error == 'invalid_mail'} Не верно указан емаил получателя {else} Неизвестная ошибка {/if} {/if} {/send_mail} В итоге получаем полное отделение дизайна от кода и возможность повторного использования кода (модулей) в других проектах всего лишь изменив смарти шаблон. Кстатии, realto.ru именно по такому принципу построен.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy