Рис. 17: Создание простой таблицы
Внеся некоторые добавления в таблицу (см. Листинг 5), вы получите код, аналогичный этому:
Рис. 18 Структура таблицы
Теперь необходимо сохранить файл. Создайте новую директорию для шаблона Dremweaver: [ПутьКJoomla!]/templates/joomla150_book_dw. Сохраните файл под названием index.php. Там же создайте поддиректории css и images.
Разместите все графические файлы, которые вы планируете использовать в данном шаблоне, в папке images. Для создания и редактирования графических объектов можно воспользоваться коммерческой программой Photoshop или бесплатной Gimp.
Рис. 19: Структура директорий шаблона
CSS файл необходимо разместить в директории CSS. Он должен называться templatecss.
CSS файл можно создать с помощью Dreamweaver или копировать из другого шаблона.
При создании css файла в Dreamweaver, в заголовке вашего шаблона автоматически
появится ссылка на этот файл:
<link href="css/templatecss.css" rel="stylesheet" type="text/css" />
Однако, для правильной работы шаблона необходимо указать абсолютный путь к css файлу начиная с директории tremplates, как мы делали ранее (см. Листинг 5). Для простоты работы с тестовым шаблоном также рекомендуется использовать существующий CSS файл с уже объявленными классами Joomla! Для этого можно копировать CSS файл или его содержимое из шаблона rhuk_milkyway в соответствующую директорию нашего шаблона.
Вставка модулей Joomla!
Теперь у нас есть основа для вставки модулей. Переместите курсор к той ячейке таблицы шаблона, в которой вы хотите разместить, например, поле поиска и нажмите кнопку Вставить поиск (Insert Search).
Рис. 20: Вставка поля поиска
Поле поиска появится в соответствующей части шаблона, а необходимый для его работы HTML код и JavaScript будут добавлены к нашему исходному коду:
Рис. 21: Поле поиска в шаблоне
Таким же методом вы можете вставить в шаблон любой динамический элемент Joomla!
Рис. 22: Шаблон с модулями Joomla!
Сайт «в живую»
Чтобы получить возможность работать с только что созданным шаблоном в Joomla!, необходимо создать файл templateDetails.xml. Базовая версия без картинок выглядит так:
<install version="1.5" type="template">
<name>joomla150_book_dw</name>
<version>0.1</version>
<creationDate>28.07.2006</creationDate>
<author>Hagen Graf</author>
<copyright>GNU/GPL</copyright>
<authorEmail>hagen@cocoate.com</authorEmail>
<authorUrl>http://www.cocoate.com</authorUrl>
<version>0.1</version>
<description>… Description … Dreamweaver Version </description>
<files>
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
<filename>template_thumbnail.png</filename>
<filename>css/template.css</filename>
</files>
</install>
После создания XML файла вы сможете выбрать новый шаблон в Менеджере шаблонов (Template Manager) административной части Joomla! Установите шаблон в качестве шаблона по умолчанию и загрузите ваш сайт Joomla! в веб обозревателе.
Рис. 23: Менеджер шаблонов с вашим собственным шаблоном
Рис. 24: Ваш сайт с вашим шаблоном
Далее, пользуясь широкими возможностями Dreamweaver вы можете продолжить работу над усовершенствованием дизайна и программной части шаблона. Dramweaver позволяет просмотреть результаты редактирования шаблона сразу после его сохранения. Вы также можете настроить Dreamweaver на автоматическое обновление измененного шаблона, находящегося на FTP или WebDAV сервере! Для этого в Dreamweaver необходимо указать путь к файлам Joomla! и ввести информацию, необходимую для подключения к удаленному серверу.
Рис. 25 Работа над сайтом в Dremweaver
Шаблоны и теги <div>
Joomla! до версии 1.5.0 (включительно) все еще может работать с таблицами при создании шаблонов. Однако, в последующих версиях Joomla! эта функциональность будет полностью убрана в целях реализации требований об устранении ограничений. Тег <div> заменит тег <table>
Тег <div> позволяет объединить в одном месте несколько элементов, например, текст, графику и т.д. Отличительным свойством такой группы элементов поначалу является только то, что она начинается с новой строки. Тег <div> не имеет больше ни каких свойств. Преимущество его использования открывается в комбинации с CSS выражениями. <div> был создан именно с этой целью: форматироваться с помощью CSS. <div> дает возможность создавать шаблоны, полностью контролируемые CSS файлами.
Один из базовых шаблонов, rhuk_milkyway, использует именно такую технологию. Он не содержит таблиц (тег <table>), вместо этого структура шаблона определяется тегами <div>. Просмотрите исходный код этого шаблона, чтобы понять, как работает такая технология. Dreamweaver также поддерживает работу с тегами <div>.
Размещение модуля «в деталях»
Давайте ближе рассмотрим панель модуля, расположенную слева:
Рис. 26: Модуль, расположенный слева
В HTML коде файла index.php имеется следующий фрагмент:
<div id="leftcolumn">
<jdoc:exists type="modules" condition="left" >
<jdoc:include type="modules" name="left" style="-3" />
</jdoc:exists>
</div>
В форматировании тега <div> используется идентификатор CSS под названием leftoclumn.
Контент между тегами <jdocs:exists> и </jdocs:exists> отображается только если выполняются условия параметров. В данном случае отображение будет зависеть от наличия модуля или модулей в положении «слева» (left). Если таких модулей нет, общая разметка шаблона динамически изменится, чтобы заполнить пустое место.
В нашем случае имеется три модуля.
CSS идентификатор левой колонке выглядит в CSS файле следующим образом:
#leftcolumn {
padding: 0;
margin: 0;
width: 20%;
float:left;
}
Если вы посмотрите на исходный код страницы, отображаемой в веб браузере (нажать правой кнопкой на странице и выбрать Просмотреть исходный код страницы (View Page Source)), то увидите, что jdoc запрос Joomla! сгенерировал на самом деле значительно больший объем кода.
Листинг 7: Выдержка из исходного кодаHTML страницы