|
Страница 5 из 9
Вывод информации
Для того, чтобы информация попала на экран, нужно определить, какая информация и где будет выводиться. Для этого в нужном Вам месте необходимо разместить соответствующую php-функцию. Основные функции, предназначенные для вывода информации в шаблонах:
mosShowHead — вывод данных системного заголовка (тэги meta, base, title...)
mosMainBody — вывод содержимого текущего компонента(ов),
выбранного через меню; обычно это статьи, контакты, магазин и т.д.
mosPathWay — навигатор (путь сайта). Это компонент, отвечающий за некую условную навигацию по структуре сайта. Он демонстрирует <путь> к текущему отображаемому контенту относительно Главной страницы.
mosLoadComponent — вывод содержимого конкретного компонента (чаще всего эту функцию используют для вывода содержимого компонента баннеров).
mosLoadModules — вывод модулей, опубликованных в заданной позиции и с соотвествующим оформлением. Подробнее об этой функции можно прочитать в статье Позиции модулей в шаблонах Joomla.
Для того, чтобы функция выполнила своё назначение, её необходимо вставить в HTML-код в определённом формате, например:
<?php echo mosPathWay();?>
В простом варианте разметка index.php может выглядеть следующим образом (код разбит на две части):
<?php
defined( "_VALID_MOS" ) or die( "Direct Access to this location is not allowed." );
$templ = $GLOBALS[mosConfig_live_site]."/templates/".$GLOBALS[cur_template];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<?php
mosShowHead();
if ( $my->id ) {initEditor();}
?>
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
<link rel="stylesheet" href="<?php echo $templ; ?>/css/template_css.css" type="text/css" />
</head>
<body>
<table>
<tr>
<td colspan="3">
<?php echo mosPathWay();?>
</td>
</tr>
<tr>
<td width="15%"><?php echo mosLoadModules('left',0);?></td>
<td width="70%"><?php echo mosMainBody();?></td>
<td width="15%"><?php echo mosLoadModules('right',0);?></td>
</tr>
<tr>
<td colspan="3"><?php echo mosLoadComponent('banners');?></td>
</tr>
</table>
</body>
</html
Первая часть демонстрирует, как строится заголовок страницы, а вторая содержит непосредственно разметку. В связи с тем, что некоторые из функций имеют дополнительные параметры, здесь необходимо сделать небольшие пояснения.
В область 1 мы выводим навигатор (mosPathWay).
В область 2 мы выводим опубликованные модули, у которых в настройках значение параметра position (позиция) указано как 'left'. Подробная информация о публикации модулей Joomla! доступна в статье Параметры публикации модулей.
В область 3 выводим основной контент.
В область 4 выводим опубликованные модули, у которых в настройках значение параметра position (позиция) указано как 'right'.
В область 5 выводим содержимое компонента баннеров.
Во избежание различных недоразумений необходимо более четко определить значение слова позиция (position) в терминах шаблонной системы Joomla. В дальнейшем мы постараемся избегать употреблять это слово в другом контексте, дабы не вводить вас в заблуждение.
Теперь необходимо объяснить, что же всё-таки означает этот термин. На самом деле это не так просто, как может показаться. И поэтому постараемся изложить всё по порядку:
- position определяет «местоположение» модулей И ТОЛЬКО модулей
- position — это некая область на вэб-странице, куда выводятся модули
- одно и то же значение position может быть как у ВСЕХ модулей, так и у ни одного. Никаких ограничений здесь нет, кроме здравого смысла
- если одно и тоже значение postion у нескольких модулей, то они будут выводиться на экран в той же последовательности, в которой перечислены в Менеджере модулей (сверху вниз)
- выводятся ТОЛЬКО те модули, которые опубликованы и разрешены для показа для текущего пункта меню
- название position всего лишь символизирует, но НЕ определяет область, где будут отображены те или иные модули, иными словами, значение left или, скажем, top, вовсе не означают, что какие-то модули будут выводиться слева или вверху
- место вывода модулей определяется тем, где в файле разметки (index.php) расположена функция mosLoadModules и в которой указано значение position тех модулей, которые должны быть показаны С УЧЁТОМ всех выше перечисленных правил.
|