пособие для чайников
Файл index.php. Урок 4 |
Файл index.php – самый важный в шаблоне "Myblog". Он определяет визуальное расположение элементов сайта и сообщает CMS Joomla в какой блок поместить различные компоненты и модули. Файл является комбинацией PHP и HTML. Для работы с файлами шаблона вам понадобится программа Macromedia Dreamweaver . Заголовок файлаЗаголовок файла состоит из нескольких частей. Первая часть кода PHP заголовка предназначена для того, чтобы убедиться, что к файлу не обращаются напрямую, из соображений безопасности. <?php // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); ?> DOCTYPE – это очень важный параметр, на основании которого браузер решает, как ему отображать эту страницу и как интерпретировать CSS. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.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. <link rel="stylesheet" href="/templates/system/css/system.css" type="text/css" /> <link rel="stylesheet" href="/templates/system/css/general.css" type="text/css" /> Далее идут ссылки на все стили шаблона. На каждый файл CSS, имеющийся в шаблоне, обязательно должна стоять ссылка в этой части, иначе файл не будет задействован в оформлении шаблона. <link rel="stylesheet" href="/templates/<?php echo $this->template ?>/css/template.css" /> <link rel="stylesheet" href="/templates/<?php echo $this->template ?>/css/menu.css" /> <link rel="stylesheet" href="/templates/<?php echo $this->template ?>/css/editor_content.css" /> Код вывода favicon.ico шаблона <!--вывод favicon.ico шаблона --> <link rel="icon" href="/templates/blog/favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="/templates/blog/favicon.ico" type="image/x-icon" /> Эта строчка позволяет частично спрятать признаки Joomla , чтобы при генерации мета тега <meta name="generator" content="Joomla! 1.5 - Open Source Content Management" /> не прописывалось название движка. <?php $this->setGenerator('mysite'); ?> </head> Тело страницыТегом <body> открывается громадный блок оформления веб-страницы. <body> Открываются верхний и нижний блоки оформления заднего плана блога<div id="art_top"> <div id="art_bot"> Блок «page» содержит оформление страницы сайта <div id="page"> Дальше идет блок шапки сайта header. В нем выводится название вашего сайта автоматически, а самостоятельно вы можете занести в код слоган сайта, между тегами <h2></h2> <div id="header"> <h1><?php echo $mainframe->getCfg('sitename');?></h1> <h2> <p>Здесь вы можете разместить слоган вашего сайта</p> </h2> </div> Блок topmenu, в котором находится позиция «topmenu» для вывода модуля верхнего горизонтального меню. <div id="topmenu"> <?php if($this->countModules('topmenu')) : ?> <jdoc:include type="modules" style="xhtml" /> <?php endif; ?> </div> Открывается блок оформления блокнота на котором будет размещен почти весь контент нашего блога. <div id="bloknot"> Открывается блок шапки блокнота в котором будет выводится навигация и поиск по сайту <div id="bloknot_top"> Блок для вывода верхней навигации по сайту в позиции «breadcrumbs». <?php if($this->countModules('breadcrumbs')) : ?> <div id="breadcrumbs"> <jdoc:include type="modules" style="xhtml" /> </div> <?php endif; ?> Блок для вывода поиска по сайту в позиции «search». <?php if($this->countModules('search')) : ?> <div id="search"> <jdoc:include type="modules" style="xhtml" /> </div> <?php endif; ?> </div> <!--конец шапки блокнота --> Открывается блок оформления контента сайта <div id="bloknot_bg"> Открывается блок в котором будет выводиться контент. <div id="content"> Внутри блока контента открывается пользовательский блок user1 для вывода модулей в позиции «user1». <?php if($this->countModules('user1')) : ?> <div id="user1"> <jdoc:include type="modules" style="xhtml" /> </div> <?php endif; ?> Вывод содержимого контента. <jdoc:include style="xhtml" /> После вывода компонента контента выводится еще один пользовательский блок user2 для вывода модулей в позиции «user2». <?php if($this->countModules('user2')) : ?> <div id="user2"> <jdoc:include type="modules" style="xhtml" /> </div> <?php endif; ?> </div><!--конец блока content--> Открывается блок правой колонки, которая не будет сворачиваться, если в позиции «rigth» не будет ни одного модуля, имейте это ввиду! <div id="right"><!--начало правой колонки--> <?php if($this->countModules('right')) : ?> <jdoc:include type="modules" style="xhtml" /> <?php endif; ?> </div> После вывода правой колонки закрывается блок bloknot_bg. </div><!--конец блока с фоном блокнота--> Открывается блок низа блокнота, в котором будет размещено нижнее горизонтальное меню блога <div id="bloknot_bot"> Вывод нижнего горизонтального меню блога в позиции «botmenu» . <?php if($this->countModules('botmenu')) : ?> <div id="botmenu"> <jdoc:include type="modules" style="xhtml" /> </div> <?php endif; ?> </div> <!--конец блока низ блокнота --> </div><!--конец блока bloknot--> Вывод блока footer , предназначенного для размещения информации об авторских правах . <div id="footer"> Блок copyright для вывода модуля с произвольным HTML в позиции «copyright».<?php if($this->countModules('copyright')) : ?> <div id="copyright"> <jdoc:include type="modules" style="xhtml" /> </div><!--конец блока copyright --> <?php endif; ?> </div><!--конец блока footer --> </div><!--конец блока page--> </div><!--конец блока art_bot--> </div><!--конец блока art_top--> </body> </html> Теперь вы знаете при помощи каких команд, и в какой последовательности выводятся блоки шаблона. ВНИМАНИЕ! Если при изучении шаблона Likom я предлагала вам поэкспериментировать с расположением блоков, меняя их местами или удаляя ненужные блоки, то с шаблоном Myblog такие эксперименты не пройдут. Любое изменение PHP кода может привести к нарушению дизайна блога. На пятом уроке мы познакомимся с файлами template.css и menu.css, которые отвечают за оформление блога и файлом editor_content определяющим оформление статей на этапе редактирования.
|