:: Главная :: Новости :: Ссылки :: Видео :: Карта сайта ::
На стартовую DREVAL.COM
Файловый архив Файловый архив
 
Добро пожаловать в
Виртуальный мир JOOMLA !


Навигация
Выбери шаблон Joomla
Авторизация





Забыли пароль?
Главное меню
Главная
Что такое Joomla?
Новости
Статьи
Блог всех разделов
Файловый архив
Демонстрация шаблонов Joomla
Ленты новостей
Полезное в сети
Поиск
Онлайн сервисы
Карта сайта
Популярное
Последнее
Кто на сайте?
Скорость вашего интернета
Нажмите на часики и определите скорость интернет соединения вашего компьютера:
 
Главная arrow Статьи arrow Советы по Joomla arrow Создание шаблона для Joomla! 1.5
 
Создание шаблона для Joomla! 1.5 Версия для печати Отправить на e-mail
Написал Mitrich   

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

 

Этот мануал для тех кто уже делал шаблоны для Joomla! 1.0.x
Хотя и новичкам должно быть интересно.

Структура шаблона практически не изменилась.

Шаблоны лежат в папке templates
В папке вашего шаблона обязательно должны находится файлы
index.php и templateDetails.xml (именно так с D в верхнем регистре).

Папки для CSS  и описания своих типов вывода модулей (см. ниже) называются css и html соответственно

Структура выглядит так:
templates
+ my_template
++ css
++ html
++ index.php
++ templateDetails.xml

Файл templateDetails.xml содержит описательную часть шаблона (имя автора,дату создания и т.п.) и список файлов содержащихся в шаблоне (необходимо для установки шаблона через инсталлятор).

Открыв файл templateDetails.xml из существующего шаблона почитайте. Там все предельно ясно. Файл index.php – это собственно и есть шаблон.


Листинг пустого index.php выглядит так

 

Код:


<?php echo '<?xml version="1.0" encoding="utf-8"?' .'>'; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{LANG_TAG}" lang="{LANG_TAG}" dir="{LANG_DIR}" >
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="templates/{TEMPLATE}/css/template.css" type="text/css" />
</head>
<body> 

</body>
</html> 


Внутри тегов   <body>  </body> находится html содержимое шаблона (возможны включения PHP кода).

 

Pathway (хлебные крошки)


В Joomla! 1.0.x

 

Код:

 

<?php echo mosPathWay();?>


В Joomla 1.5

 

Код:

 

<jdoc:include type="modules" name="breadcrumb" />


Модули

 

В Joomla! 1.0.x модули выводились так

 

Код:

 

<?php mosLoadModules ( 'left',-1); ?> 


Где left : позиция модуля , -1 : тип вывода модуля.


В Joomla! 1.5 вывод модулей осуществляется так

 

Код:

 

<jdoc:include type="modules" name="right" style="-1" />


type="modules"   говорит о том, что выводится модуль

name="right" указывает на позицию модуля

style="-1" указывает тип вывода модуля

для style="…" появилась возможность указания типа вывода не только цифрами, но и ключевыми словами


style="table" – стандартный вывод модуля в ячейке таблицы


Код:

 

<table cellpadding="0" cellspacing="0" class="moduletable">
  <tr>
    <th valign="top">Module Title</th>
  </tr>
  <tr>
     <td>Module Content</td>
  </tr>
</table>

   

      

style="horz" – горизонтальный вывод

Не увидел разницы со style="table" , хотя в официальном мануале сказано, что формируется горизонтальный вывод модуля


style="xhtml" – вывод модуля в одном DIV с заголовком H3


Код:

 

<div class="moduletable">
 <h3>Module Title</h3>
   Module Content
</div>


style="rounded" – вывод модуля в четырех вложенных DIV ( используется для создания закругленных углов в модулях, подробно о создании закругленных углов можно почитать >>> тут <<<).


Код:

 

<div class="module">
  <div>
    <div>
      <div>
         <h3>Module Title</h3>
Module Content
       </div>
     </div>
   </div>
</div>


style="raw" 

будет выведено содержимое модуля без заголовка ,таблиц и DIVов


В Joomla 1.5 добавлена возможность создавать свои типы вывода модулей

Описание типа вывода модуля находится в файле templates/template_folder/html/modules.php

Имя функции обязательно должно начинаться с modChrome_


Создадим  тип вывода style="example"

В котором модули будут выводиться в таблице шириной 180px,

Заголовок модуля имеет красный фон, текст заголовка выводится в тегах <H3> </H3>

Тело модуля имеет серый фон. Весь текст в верхнем регистре.


Листинг простейшего файла modules.php будет таким


Код:

 

<?php

defined('_JEXEC') or die('Restricted access');

function modChrome_example($module, & $params)
{ ?>
<table width="180px" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td style="background-color:red;"><h3><?php echo $module->title ?></h3></td>
  </tr>
  <tr>
    <td style="background-color:gray; text-transform:uppercase;"><?php echo $module->content ?></td>
  </tr>
</table>
<?php
}
?>


Просторы для фантазии безграничны.


Контент

Вывод контента осуществляется так:


В Joomla! 1.0.x

 

Код:

 

<?php mosMainBody(); ?>


В Joomla! 1.5

 

Код:

 

<jdoc:include type="component" />


Листинг простейшего index.php трехколоночного шаблона:


Код:

 

<?php echo '<?xml version="1.0" encoding="utf-8"?' .'>'; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{LANG_TAG}" lang="{LANG_TAG}" dir="{LANG_DIR}" >
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="templates/{TEMPLATE}/css/template.css" type="text/css" />
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td  class="left"><jdoc:include type="modules" name="left" style="raw"/></td>
    <td class="center"><jdoc:include type="component" /></td>
    <td class="right"><jdoc:include type="modules" name="right" style="raw"/></td>
  </tr>
</table>
</body>
</html>


Трюки с отображением модулей

Спасибо userxp за помощь.Без него я бы не понял как это работает Smiley


Задача:

 

Для зарегистрированных пользователей выводим модули в right для всех остальных модули в user1

 

Решение:

 

После тега <body> пишем

 

Код:

 

<?php $user =& JFactory::getUser(); ?>


в теле шаблона

 

Код:

 

<?php if($user->_id) {?>
<jdoc:include type="modules" name="right" style="raw"/>
<?php } else {?>
<jdoc:include type="modules" name="user1" style="raw"/>
<?php }?>


Задача:

 

Для пользователей группы author выводим модули в right для всех остальных модули в user1

 

Решение:

 

После тега <body> пишем

 

Код:

 

<?php $user =& JFactory::getUser(); ?>


в теле шаблона

 

Код:

 

<?php if($user->get(‘usertype’) == ‘Author’) {?>
<jdoc:include type="modules" name="right" style="raw"/>
<?php } else {?>
<jdoc:include type="modules" name="user1" style="raw"/>
<?php }?>


Задача:

 

Вместе с компонентом weblinks выводим модули в user2

 

Решение:

 

После тега <body> пишем

 

Код:

 

<?php  $option = JRequest::getVar( 'option' );?>
 

 

 

в теле шаблона

 

Код:

 

<?php  if($option == 'com_weblinks') {?>
<jdoc:include type="modules" name="user2" style="raw"/>
<?php } ?>


Некоторые переменные используемые в шаблонах

$mainframe->getCfg('sitename') - имя сайта

$mainframe->getCfg('mailfrom') - e-mail админа

$mainframe->getCfg('live_site') - URL сайта

$this->template - имя папки шаблона

 

Mitrich


В избранное (1) | Ссылка на статью | Просмотров: 43452 | Версия для печати | Отправить на e-mail

Добавить комментарий
RSS комментарии

Только зарегистрированные пользователи могут оставлять комментарии.
Авторизуйтесь или зарегистрируйтесь.

 
< Пред.   След. >
 
Статистика


Избранное
Новые файлы
Файл CMS "Joomla 1.0.15 Lavra Edition 2008" - патч обновления
Файл CMS Joomla 1015 Lavra Edition 2008
Файл Шаблон funkymonkey
Файл Шаблон fv_newsportal
Файл Шаблон fv_business_green
Популярные Файлы
Название. (скачиваний)
Портал Вокруг Света



 

Вверх
Вверх