САМОУЧИТЕЛЬ PHP 4



         

Множественность блоков


Шаблонизатор, который вставляет все содержимое запрошенного файла в фиксированный шаблон, совершенно бесполезен в реальной практике. Это означает, что мы должны "научить" его:

r    определять имя шаблона индивидуально для каждой страницы;

r    позволять хранить в документе несколько блоков информации, а не только главный текст файла.

Последняя задача более важна, так что начнем с нее. Мы привыкли к тому, что любая страница сценария выполняется последовательно и представляет собой единый HTML-документ. Теперь нам придется отказаться от этого стереотипа (в общем-то, ведущего в тупик). Итак, любая страница сайта — это всего лишь набор блоков, которые будут вставлены в шаблон.

Блок — участок текста, имеющий имя (не обязательно уникальное), посредством которого можно ссылаться на этот текст. Мы уже видели, как это происходит в простейшем случае (см. листинг 30.10). Функция шаблонизатора Blk() возвращает текст (или содержимое, или тело) блока, имя которого указанно в ее параметрах. Содержимое блока может быть задано многократно, при этом последующее определение "затирает" текст предыдущего. Чуть ниже мы увидим, насколько данное качество оказывается полезным на практике.

Как же определять новые блоки в файле страницы? Для этого существует конструкция <?Block("имя")?>. Пример ее использования приведен в листинге 30.11.

Листинг 30.11. Файл данных страницы: /phil/index.html

<?Block("Title","[]Философия")?>

<?Block("Text")?>

Конфликт индуцирует смысл жизни. Объект деятельности, пренебрегая

деталями, методологически рефлектирует себя через постсовременный

класс эквивалентности, открывая новые горизонты. Закон внешнего мира

может быть получен из опыта[E150] .

<?Block("Cite")?>

Философия, конечно, порождена временем. Информация, как следует из

вышесказанного, непредвзято подчеркивает принцип восприятия, отрицая

очевидное.




Содержание  Назад  Вперед