Файл index.php

УРОК 4

Файл index.php – самый важный в шаблоне Joomla. Он определяет визуальное расположение элементов сайта и сообщает CMS Joomla в какой блок поместить различные компоненты и модули. Файл является комбинацией PHP и HTML.

Для работы с  файлами  шаблона вам понадобится программа Macromedia Dreamweaver.

Скачайте архив шаблона Likom25. Откройте файл index.php в программе Dreamweaver. Файл находится в папке C:\JoomlaServer\home\localhost\www\название вашего сайта\templates\Likom25.

Заголовок  файла

Заголовок файла состоит из нескольких частей. Первая часть кода PHP заголовка предназначена для того, чтобы убедиться, что к файлу не обращаются напрямую, из соображений безопасности.

<?php

defined('_JEXEC') or die;

JHtml::_('behavior.framework', true);

$app = JFactory::getApplication();

?>

DOCTYPE – это очень важный параметр, на основании которого браузер решает, как ему отображать эту страницу и как интерпретировать CSS.

<?php echo '<?'; ?>xml version="1.0" encoding="<?php echo $this->_charset ?>"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Следующий фрагмент извлекает установленный язык из глобальной конфигурации.

<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" >

Далее идет  фрагмент кода, который включает дополнительную информацию для заголовка, которая задана в глобальной конфигурации. Эту информацию вы можете увидеть посмотрев исходный код любой веб-страницы. В частности – это мета-теги, о которых вы уже знаете.

<head>

<jdoc:include type="head" />

Следующие строки в заголовке содержат ссылки на основные CSS стили Joomla 2.5.

<link rel="stylesheet" href="/<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />

<link rel="stylesheet" href="/<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" />

Далее идут ссылки на все стили шаблона. На каждый файл CSS, имеющийся в шаблоне, обязательно должна стоять ссылка в этой части, иначе файл не будет задействован в оформлении шаблона.

<link rel="stylesheet" href="/<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/template.css" type="text/css" />

<link rel="stylesheet" href="/<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/menu.css" type="text/css" />

Следующий фрагмент кода позволяет нам «выключать» колонку автоматически или «свертывать» ее, если она не содержит контента. Если в позициях «left» и « right» не расположено ни одного модуля, то они сворачиваются и колонка контента занимает  100% ширины страницы.  Если включена только одна колонка, то контент занимает 80%. При дух включенных колонках на контент приходится 60% ширины страницы.

<?php

if($this->countModules('left and right') == 0) $contentwidth = "100";

if($this->countModules('left or right') == 1) $contentwidth = "80";

if($this->countModules('left and right') == 1) $contentwidth = "60";

?>

Заключительная часть заголовка подключает файл favicon.ico , который является  идентификационным значоком сайта. Его можно увидеть в адресной строке браузера, слева от URL сайта, а также при выдаче сайтов в поиске Яндекса.

<link rel="icon" href="/templates/likom25/favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="/templates/likom25/favicon.ico" type="image/x-icon">
</head>

Тело страницы

Далее тегом <body> открывается громадный блок оформления веб-страницы.

<body>

Блок «page» содержит  оформление страницы сайта

<div id="page">

Блок "pathway"  находится в самом верху страницы и содержит в себе два блока "breadcrumbs " и "user1".

<div id="pathway">
<div id="breadcrumbs">
<jdoc:include type="module" name="breadcrumbs" />
</div>
<div id="user1">
<jdoc:include type="modules" name="user1" />
</div>
</div><!-- конец блока pathway-->

Дальше идет блок шапки сайта header. В нем выводится название вашего сайта автоматически, а самостоятельно вы можете занести в код слоган сайта, между тегами <h2></h2>

<div id="header">

<h1><?php echo $app->getCfg('sitename'); ?></h1>

<h2> <p>Здесь вы можете разместить слоган вашего сайта</p>  </h2>

</div>

Вывод модуля горизонтального меню в блоке «user2».

<?php if($this->countModules('user2')) : ?>
<div id="topmenu ">
<jdoc:include type="modules" name="user2" style="xhtml" />
</div>
<?php endif; ?>

Открывается блок левой колонки, которая будет сворачиваться, если в позиции «left» не будет ни одного модуля.

<?php if($this->countModules('left')) : ?>
<div id="left">
<jdoc:include type="modules" name="left" style="xhtml" />
</div>
<?php endif; ?>

Открывается самый важный блок контента, который может занимать 100% ширины страницы,  80% и 60%, в зависимости от количества включенных колонок.

<div id="content<?php echo $contentwidth; ?>">

Вывод содержимого контента.

<jdoc:include type="component" style="xhtml" />

В блоке контента заключен блок «user3» для нижней навигации.

<?php if($this->countModules('user3')) : ?>
<div id="user3">
<jdoc:include type="modules" name="user3" style="xhtml" />
</div>
<?php endif; ?>

Закрывается блок контента content

</div>

Открывается блок правой колонки, которая будет сворачиваться, если в позиции «rigth» не будет ни одного модуля.

<?php if($this->countModules('right')) : ?>
<div id="rigth">
<jdoc:include type="modules" name="right" style="xhtml" />
</div>
<?php endif; ?>

Вывод блока «bottom».

<?php if($this->countModules('bottom')) : ?>
<div id="bottom">
<div id="bottombox">
<div id="bottomboxin">
<jdoc:include type="modules" name="bottom" style="xhtml" />
</div> </div></div>
<?php endif; ?>

Вывод блока «bottommenu» для нижнего меню сайта.

<?php if($this->countModules('bottommenu')) : ?>
<div id="bottommenu">
<jdoc:include type="modules" name="bottommenu" style="xhtml" />
</div>
<?php endif; ?>

Вывод блока «footer» , предназначенного для размещения информации  об авторских правах .

<?php if($this->countModules('footer')) : ?>
<div id="footer">
<jdoc:include type="modules" name="footer" style="xhtml" />
</div>
<?php endif; ?>

Закрываются блок страницы сайта «page», body и весь код.

</div>

</body>

</html>

Теперь вы знаете при помощи каких команд,  и в какой последовательности выводятся блоки шаблона. Вы можете внести коррективы в расположения блоков, меняя их местами или удаляя ненужные блоки. Поэкспериментируйте  и посмотрите, что получится.

Оформление каждого блока прописано в файлах template.css и menu.css с которыми вы познакомитесь на следующем уроке.

 

Комментарии 

 
# zeus07 21.01.2013 22:28
Здравствуйте!
Подскажите, почему валидатор ругается на строку ?
Ответить | Ответить с цитатой | Цитировать
 
 
# Алла 03.12.2014 11:57
Здравствуйте! Если сможете, помогите советом.
Проблема такая - хотела вставить код гугл аналитики в index файл шаблона. Открываю файл и вижу такое содержание -
Ответить | Ответить с цитатой | Цитировать