понедельник, 29 августа 2011 г.

Создание шаблона для Joomla 1.7. Добавление позиций в шаблон. Часть 3.

Создание шаблона для CMS Joomla

Доброго времени суток. В первых двух частях серии постов про создание шаблона для CMS Joomla мы рассмотрели структуру шаблона, во второй части мы переделали сверстанный макет в шаблон Joomla. Если Вы всё проделали со мной, то наверное возмутились: «И что это за чепуха, ведь ничего не отображается?» И Вы будете правы ни модули, ни контент на вновь созданном шаблоне для Joomla не отображаются. Данная часть и посвящена исправлению данной проблемы. Ниже мы немного изменим css-файл нашего шаблона, добавим в наш шаблон Joomla позиции, в которые затем поместим различные модули и добьемся отображения контента. Ну, что продолжим создавать свой собственный шаблон для CMS Joomla...
 Первое, что хотелось бы изменить так это css-файл нашего шаблона. Давайте уберем background во всех div-ах, чтобы наш шаблон не был таким пестрым (в начале я сделал это умышленно, и многих это раздражало, это было сделано для того чтобы хорошо представлять структуру нашего шаблона joomla).
Теперь наш шаблон выглядит просто и не пестрит различными цветами, что уже хорошо. Вспомним структуру эскиза для нашего шаблона joomla.
Эскиз шаблона для Joomla.
 Согласно этой структуре мы уже создали шаблон CMS 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!!!

Понравилась статья? Поблагодарить автора:

Введите e-mail адрес:



17 комментариев:

  1. Нет там изначально div top-menu

    ОтветитьУдалить
  2. И сам лэйаут выглядет иначе чем на рисунке в начале статьи. Контейнер 1 и 2 нормально, далее под ними слева-направо 4,5,6. Далее видимо идет 3 черного цвета, он лежит на нижней границе 456, причем поверх 4 и 6, но по середине накрыт 5-м, далее в потоке лежит невысокий серый блок на всю ширину, и под ним такой же салатовый.

    ОтветитьУдалить
  3. Я Вас немного не понял, можете в обратной связи оставить Вашу аську или в одной из соц сети постучать ко мне, чтоб это обсудить.

    ОтветитьУдалить
  4. Да в представленном для скачивание архиве в шаблон.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 в обоих архивах.

    ОтветитьУдалить
  5. Да, спасибо большое. Моя оплошность, я обязательно исправлю. Хотя большой роли в создании шаблона это не играет. И цель статьи просто показать принцип добавления позиций в html-файл. Еще раз спасибо, за бдительность.

    ОтветитьУдалить
  6. А есть причина того почему в менеджер шаблонов во вкладке стиль шаблон не отображается, но в во вкладке шаблоны он есть, при на движок установки никаких ошибок не возникало(

    ОтветитьУдалить
  7. Да, нет должен появиться. Я с таким не сталкивался. Устанавливали через zip архив или напрямую залили в CMS?

    ОтветитьУдалить
  8. Все разобрался, шаблон не отображался по тому что имя шаблона не совпадало с именем папки.

    ОтветитьУдалить
  9. Что необходимо вставлять в head'e (а точнее в title), чтобы название сайта бралось из контрольной панели?

    ОтветитьУдалить
  10. Для этого Вам необходимо в конфигурационном файле создать параметры, как это сделать я описал http://zloykolobok.blogspot.com/2011/09/joomla-17-joomla-5.html Добавить текстовое поле (Text) (описано в статье http://zloykolobok.blogspot.com/2011/10/cms-joomla-3.html), а затем передать этот параметр в title.

    ОтветитьУдалить
  11. Спасибо! то что нужно. И очень хорошо и доходчиво расписно

    ОтветитьУдалить
  12. Роман, спасибо теска. Рад стараться ))

    ОтветитьУдалить
  13. :) ну вот кстати говоря в новой версии конечно есть как много плюсов так и минусов. ЧЕстно говоря, очень нравится 1,5 версия. Все таки там гемороя меньше с этими шаблонами, а точнее с интеграцией в джумла... взял папку воткнул в шаблоне и она появилась в шаблонах в админке а тут надо настраивать, пересинхронизировать ... много лишнего. Но честно сказать у новой версии все равно плюсов больше.. даже то что появилась возможность разносить шаблоны по страницам.

    ОтветитьУдалить
  14. опишите пожалуйста подробней проблему с неотображением стиля шаблона

    ОтветитьУдалить
  15. огромное спасибо Ромчик за такие доступные статьи по джумле

    ОтветитьУдалить
  16. Добрый день! Подскажите а где и как задавать описание и положение области 1 тоесть logo ? Заранее спасибо!

    ОтветитьУдалить