Верхний модуль пустой
1.2. Файл разметки шаблона Версия для печати

Несмотря на то, что файл разметки шаблона (index.php) это файл PHP, он практически полностью написан на HTML с небольшим количеством вставок кода на PHP. Вам необязательно обладать профессиональными навыками в PHP, чтобы создать файл шаблона. Все что Вам необходимо сделать, это выучить, где расположить ключи функций «вызовы» движка шаблонов Mambo.

Разметка шаблона в основном выполнена на HTML. Внутри каркаса HTML вы размещаете так называемые окна, которые извлекают информацию из базы данных сайта. Обычно есть несколько небольших окон называемых модулями и одно большое для компонента.

У вас есть возможность создавать шаблоны, используя xHTML. В настоящее время продолжаются споры о том, является ли xHTML стандартом будущего. xHTML основан на XML, тогда как HTML - стандарт, который морально устарел и не имеет перспектив. Будущие версии Mambo будут основаны на XML, поэтому разумно будет перенять данную модель уже сейчас.

Файл index.php для типичной разметки на три колонки будет выглядеть следующим образом:

 1: <?php echo "<?xml version="1.0"?>";
2: /** ensure this file is being included by a parent file */
3: defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
4: ?>
5: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6: <html xmlns="http://www.w3.org/1999/xhtml">
7: <head>
8: <title><?php echo $mosConfig_sitename; ?></title>
9: <meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
10: <?php
11: if ($my->id) {
13: initEditor();
14: }
15: ?>
16: <?php mosShowHead(); ?>
17: <link href="<?php echo $mosConfig_live_site;?>/templates/basic_template/css/template_css.css"
rel="stylesheet" type="text/css" />
18: </head>
19: <body>
20: <table cellspacing="0" cellpadding="5" border="0">
21: <tr>
22: <td colspan="3">
23: <?php echo $mosConfig_sitename; ?>
24: </td>
25: </tr>
26: <tr>
27: <td colspan="3">
28: <?php mosLoadModules ( 'top', 1 ); ?>
29: </td>
30: </tr>
31: <tr>
32: <td width="20%" valign="top">
33: <?php mosLoadModules ( 'left' ); ?>
34: </td>
35: <td width="60%" valign="top">
36: <?php mosMainBody(); ?>
37: </td>
38: <td width="20%" valign="top">
39: <?php mosLoadModules ( 'bottom' ); ?>
40: </td>
41 </tr>
42: </table>
43: </body>
44: </html>

Рассмотрим основные особенности приведенного выше кода. Предполагается, что читатель обладает базовыми знаниями о страницах HTML, поэтому теги head, body, table и т.д. будут пропущены.

Строка 1: Объявляет файл как удовлетворяющий стандарту XML.

Строка 3: Блокирует прямой доступ к данному файлу. Важно чтобы данная строка была включена в файл шаблона.

Строки 5-6: Объявляют, что файл удовлетворяет стандарту xHTML.

Строка 8: Выводит имя сайта из переменной конфигурации внутри тега title.

Строка 9: _ISO – константа, которая определяет кодировку документа. Она определена в языковом файле.

Строки 10-15: $my->id переменная, которая не равно нулю, если пользователь авторизовался на вашем сайте. Если пользователь авторизовался, то подгружается WYSIWYG редактор. Вы можете, если пожелаете, всегда подгружать редактор, но обычно анонимный посетитель не добавляет материалы для сайта. Поэтому данные строки снижают размеры кода при обычном просмотре вашего сайта.

Строка 16: Вставляет несколько блоков метаданных.

Строка 17: Загружает css таблицу стилей. Переменная конфигурации $mosConfig_live_site содержит абсолютный URL вашего сайта.

Строка 23: Выводит имя сайта в ячейке таблицы (объединяющей три столбца).

Строка 28: Загружает опубликованные модули, у которых позиция указана «верх» («top»). Второй аргумент «1» указывает на то, что модули должны быть расположены горизонтально.

Строка 33: Загружает опубликованные модули, у которых позиция указана «слева» («left»). Эти модули будут расположены в столбец.

Строка 36: Загружает компонент в ваш шаблон. Необходимый компонент определяется по URL. Например, если URL содержит index.php?option=com_content ,то будет загружен компонент "Содержание".

Строка 39: Загружает опубликованные модули, у которых позиция указана «справа» («right»). Эти модули будут расположены в столбец

< Пред.
MAMBO ® (ПОД ЛИЦЕНЗИЕЙ GNU/GPL). ВСЕ ПРАВА ЗАЩИЩЕНЫ. © MIRO INTERNATIONAL PTY LTD., 2000-2005
RU-MAMBO.RU © 2004-2005. В СЛУЧАЕ ПЕРЕПЕЧАТКИ МАТЕРИАЛОВ САЙТА ССЫЛКА НА ИСТОЧНИК ОБЯЗАТЕЛЬНА.