Создание шаблона для CMS Joomla |
Доброго времени суток. В первых двух частях серии постов про создание шаблона для CMS Joomla мы рассмотрели структуру шаблона, во второй части мы переделали сверстанный макет в шаблон Joomla. Если Вы всё проделали со мной, то наверное возмутились: «И что это за чепуха, ведь ничего не отображается?» И Вы будете правы ни модули, ни контент на вновь созданном шаблоне для Joomla не отображаются. Данная часть и посвящена исправлению данной проблемы. Ниже мы немного изменим css-файл нашего шаблона, добавим в наш шаблон Joomla позиции, в которые затем поместим различные модули и добьемся отображения контента. Ну, что продолжим создавать свой собственный шаблон для CMS Joomla...
Первое, что хотелось бы изменить так это css-файл нашего шаблона. Давайте уберем background во всех div-ах, чтобы наш шаблон не был таким пестрым (в начале я сделал это умышленно, и многих это раздражало, это было сделано для того чтобы хорошо представлять структуру нашего шаблона joomla).
Теперь наш шаблон выглядит просто и не пестрит различными цветами, что уже хорошо. Вспомним структуру эскиза для нашего шаблона joomla.
Теперь наш шаблон выглядит просто и не пестрит различными цветами, что уже хорошо. Вспомним структуру эскиза для нашего шаблона joomla.
Эскиз шаблона для Joomla. |
Согласно этой структуре мы уже создали шаблон CMS Joomla, теперь добавим в него позиции.
Итак, с областями мы разобрались. Осталось все это реализовать на практике.
Открываем наш файл index.php (напомню, index.php – это основной файл шаблона CMS Joomla, в котором определяется вся структура нашего сайта) и изменяем его. Для того чтобы определить позицию в шаблоне Joomla существует следующая структура:
После того как мы внесли изменения в файл index.php, необходимо указать CMS Joomla о наличии в данном шаблоне этих позиций. Для этого нам необходимо отредактировать файл templateDetails.xml. Описание позиций происходит в секции <positions></positions>. И так, добавим в файл templateDetails.xml нашего шаблона для CMS Joomla следующее:
<positions>
<position>logo</position>
<position>find</position>
<position>top_menu</position>
<position>left</position>
<position>right</position>
<position>footer</position>
</positions>
После того, как мы описали Joomla новые позиции для нашего шаблона, переходим в главном меню CMS Joomla Расширения → Менеджер расширений и во вкладке «Поиск» жмем «Найти» для того чтобы CMS Joomla перечитала наш конфигурационный файл шаблона. После чего заходим в менеджер модулей и редактируем любой модуль (выбираем позицию из нашего шаблона). Готовый шаблон Вы можете скачать ТУТ.
Например: В менеджере модулей выбираем модуль под заголовком «Информация о Joomla!»
- Область 1 – это позиция для логотипа нашего сайта и назовем её «logo»
- Область 2 – это позиция для поиска по сайту, назовем её «find»
- Область 3 – это позиция для верхнего меню, назовем её «top-menu»
- Область 4 – это позиция для отображения различной информации в левой колонке, назовем её «left»
- Область 5 – это позиция для отображения самого контента нашего сайта, назовем ее «content»
- Область 6 – это позиция для отображения информации в правой колонке, назовем ее «right»
- Область 7 – это позиция для отображения футера нашего сайта, назовем ее «footer».
Итак, с областями мы разобрались. Осталось все это реализовать на практике.
Открываем наш файл index.php (напомню, index.php – это основной файл шаблона CMS Joomla, в котором определяется вся структура нашего сайта) и изменяем его. Для того чтобы определить позицию в шаблоне Joomla существует следующая структура:
<jdoc:include type="<тип>" name="<название>" />
Приступим к редактированию нашего файла, согласно структуре нашего эскиза:- Область 1. В внутри тега <div id= "logo"> вставляем следующий код <jdoc:include type="modules" name="logo" />. Этим самым в области 1 мы определили позицию logo.
- Область 2. В внутри тега <div id= "find"> вставляем следующий код <jdoc:include type="modules" name="find" />. Этим самым в области 2 мы определили позицию logo.
- Область 3. В внутри тега <div id= "top_menu"> вставляем следующий код <jdoc:include type="modules" name="top_menu" />. Этим самым в области 3 мы определили позицию top_menu.
- Область 4. В внутри тега <div id= "left"> вставляем следующий код <jdoc:include type="modules" name="left" />. Этим самым в области 4 мы определили позицию top_menu.
- Область 5. В внутри тега <div id= "center"> вставляем следующий код <jdoc:include type="component" />. Этим самым в области 5 мы определили позицию для вставки компонетов, т. е. Отображения нашего контента.
- Область 6. В внутри тега <div id= "right"> вставляем следующий код <jdoc:include type="modules" name="right" />. Этим самым в области 6 мы определили позицию right.
- Область 7. В внутри тега <div id= "footer"> вставляем следующий код <jdoc:include type="modules" name="footer" />. Этим самым в области 7 мы определили позицию footer.
После того как мы внесли изменения в файл index.php, необходимо указать CMS Joomla о наличии в данном шаблоне этих позиций. Для этого нам необходимо отредактировать файл templateDetails.xml. Описание позиций происходит в секции <positions></positions>. И так, добавим в файл templateDetails.xml нашего шаблона для CMS Joomla следующее:
<positions>
<position>logo</position>
<position>find</position>
<position>top_menu</position>
<position>left</position>
<position>right</position>
<position>footer</position>
</positions>
После того, как мы описали Joomla новые позиции для нашего шаблона, переходим в главном меню CMS Joomla Расширения → Менеджер расширений и во вкладке «Поиск» жмем «Найти» для того чтобы CMS Joomla перечитала наш конфигурационный файл шаблона. После чего заходим в менеджер модулей и редактируем любой модуль (выбираем позицию из нашего шаблона). Готовый шаблон Вы можете скачать ТУТ.
Например: В менеджере модулей выбираем модуль под заголовком «Информация о Joomla!»
Выбор позиции модуля. |
Щелкаем по «Выбор позиции» и в открывшемся окне выбираем позицию «left» нашего шаблона «lesson»
Позиции в шаблоне для CMS Joomla. |
После чего жмем «Сохранить и закрыть» и переходим в просмотр нашего сайта. В центре должен отобразиться контент, а в левой колонке меню «Информация о Joomla!».
На этом статья, посвященная «Созданию шаблона joomla. Добавление позиций.» закончена.
В следующей статье мы рассмотрим как изменить представление модулей для нашей темы, т. е. интегрировать модули в дизайн нашего шаблона для CMS Joomla.
Как правильно составлять xml-файл читайте в статье "Файлы объявления в CMS Joomla. Правила составления xml файла в Joomla."
Всем удачи в разработке шаблонов для CMS Joomla!!!
На этом статья, посвященная «Созданию шаблона joomla. Добавление позиций.» закончена.
В следующей статье мы рассмотрим как изменить представление модулей для нашей темы, т. е. интегрировать модули в дизайн нашего шаблона для CMS Joomla.
Как правильно составлять xml-файл читайте в статье "Файлы объявления в CMS Joomla. Правила составления xml файла в Joomla."
Всем удачи в разработке шаблонов для CMS Joomla!!!
Нет там изначально div top-menu
ОтветитьУдалитьА подробнее, где нет?
ОтветитьУдалитьИ сам лэйаут выглядет иначе чем на рисунке в начале статьи. Контейнер 1 и 2 нормально, далее под ними слева-направо 4,5,6. Далее видимо идет 3 черного цвета, он лежит на нижней границе 456, причем поверх 4 и 6, но по середине накрыт 5-м, далее в потоке лежит невысокий серый блок на всю ширину, и под ним такой же салатовый.
ОтветитьУдалитьЯ Вас немного не понял, можете в обратной связи оставить Вашу аську или в одной из соц сети постучать ко мне, чтоб это обсудить.
ОтветитьУдалитьДа в представленном для скачивание архиве в шаблон.css нет позиции топ_меню Вот отрезок из файла.css из архива html_verstka =>
ОтветитьУдалитьdiv#find {
width:400px;
height:100px;
margin-left:600px;
background:#00F;
}
div#clear {
clear:both;
}
А вот отрезок из архива lesson_positions =>
div#find {
width:400px;
height:100px;
margin-left:600px;
}
div#top_menu {
width: 1000px;
height: 50px;
}
div#clear {
clear:both;
}
Точно такая же ситуация с файлами index.php в обоих архивах.
Да, спасибо большое. Моя оплошность, я обязательно исправлю. Хотя большой роли в создании шаблона это не играет. И цель статьи просто показать принцип добавления позиций в html-файл. Еще раз спасибо, за бдительность.
ОтветитьУдалитьА есть причина того почему в менеджер шаблонов во вкладке стиль шаблон не отображается, но в во вкладке шаблоны он есть, при на движок установки никаких ошибок не возникало(
ОтветитьУдалитьДа, нет должен появиться. Я с таким не сталкивался. Устанавливали через zip архив или напрямую залили в CMS?
ОтветитьУдалитьВсе разобрался, шаблон не отображался по тому что имя шаблона не совпадало с именем папки.
ОтветитьУдалитьЧто необходимо вставлять в head'e (а точнее в title), чтобы название сайта бралось из контрольной панели?
ОтветитьУдалитьДля этого Вам необходимо в конфигурационном файле создать параметры, как это сделать я описал http://zloykolobok.blogspot.com/2011/09/joomla-17-joomla-5.html Добавить текстовое поле (Text) (описано в статье http://zloykolobok.blogspot.com/2011/10/cms-joomla-3.html), а затем передать этот параметр в title.
ОтветитьУдалитьСпасибо! то что нужно. И очень хорошо и доходчиво расписно
ОтветитьУдалитьРоман, спасибо теска. Рад стараться ))
ОтветитьУдалить:) ну вот кстати говоря в новой версии конечно есть как много плюсов так и минусов. ЧЕстно говоря, очень нравится 1,5 версия. Все таки там гемороя меньше с этими шаблонами, а точнее с интеграцией в джумла... взял папку воткнул в шаблоне и она появилась в шаблонах в админке а тут надо настраивать, пересинхронизировать ... много лишнего. Но честно сказать у новой версии все равно плюсов больше.. даже то что появилась возможность разносить шаблоны по страницам.
ОтветитьУдалитьопишите пожалуйста подробней проблему с неотображением стиля шаблона
ОтветитьУдалитьогромное спасибо Ромчик за такие доступные статьи по джумле
ОтветитьУдалитьДобрый день! Подскажите а где и как задавать описание и положение области 1 тоесть logo ? Заранее спасибо!
ОтветитьУдалить