LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
25.05.2013, 04:23:08 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 2.5 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 2 [3] 4 5 6 7 8   Вниз
  Добавить закладку  |  Печать  
Автор Тема: [howto] Создание шаблона для Joomla! 1.5  (Прочитано 307224 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mitrich
Администратор
*******

Репутация: +524/-13
Offline Offline

Пол: Мужской
Сообщений: 1109


Все можно. Но сначала учиться, учиться и учиться.


« : 04.01.2007, 15:54:32 »

Этот мануал для тех кто уже делал шаблоны для 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 - имя папки шаблона
« Последнее редактирование: 18.06.2008, 18:50:28 от Mitrich » Записан
 
FlahsAxel
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 156


« Ответ #61 : 04.05.2009, 22:28:40 »

Как правильно вставить навигацию в шаблон Joomla 1.5?
Или ИМЕННО В ШАБЛОН не обязательно, а сделать это в самой Joomla в нужную позицию?
Где почитать о командах, выполняющих определенные (часто применяемые) функции?

Спасибо.
« Последнее редактирование: 09.05.2009, 16:42:01 от FlahsAxel » Записан
taiber
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 36


« Ответ #62 : 15.05.2009, 14:00:49 »

Здравствуйте, уважаемые!
Как сделать на главной вывод, например, 4 категорий, чтобы они на ней ПОСТОЯННО находились? В том смысле, что если 1-2 более интенсивно наполняюся, чтобы остальные  категории не сползали с нее! Весь форум облазил!
У самого ума не хватает. Подскажите, плиз, если кто знает.
Записан
beliyadm
Профи
********

Репутация: +1479/-61
Offline Offline

Пол: Мужской
Сообщений: 7746


Севастополь==Россия


« Ответ #63 : 15.05.2009, 14:09:50 »

использовать 4 копии модуля последних новостей (стандартного либо другого). В каждом указать ID нужной категории
Записан
taiber
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 36


« Ответ #64 : 15.05.2009, 22:39:21 »

использовать 4 копии модуля последних новостей (стандартного либо другого). В каждом указать ID нужной категории

Уф... Спасибо beliyadm. Использовал mod_latestnews. В Менеджере модулей вроде ничего подходящего для этого нет. "(стандартного либо другого)"- это не понятно, что- то не увидел в настройках модуля. Прявязал к пункту меню для вывода на главной. Но они выводят список, а надо анонсы/начало статей. Можно это как- то реализовать?
Записан
beliyadm
Профи
********

Репутация: +1479/-61
Offline Offline

Пол: Мужской
Сообщений: 7746


Севастополь==Россия


« Ответ #65 : 15.05.2009, 22:47:34 »

можно
1 - редактировать код модуля mod_latestnews (я писал на форуме как)
2 - использовать другие модули последних материалов - их много разных, сделай поиск по словам "модуль новостей" найдешь сразу
Записан
taiber
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 36


« Ответ #66 : 15.05.2009, 23:10:06 »

можно
1 - редактировать код модуля mod_latestnews (я писал на форуме как)
2 - использовать другие модули последних материалов - их много разных, сделай поиск по словам "модуль новостей" найдешь сразу

А где можно посмотреть редактирование этого модуля (если разберусь).
Поиск сделал. Аж 3 стр. в выдаче! Sad  Может, присоветуете какой, из личного опыта.
Хотелось бы наподобие этого или что-то подобное:
https://www.buildingtechnologies.siemens.com/products_systems/building_comfort_hvac/home_and_building_automation/?languagecode=en
Записан
taiber
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 36


« Ответ #67 : 18.05.2009, 13:05:40 »

To: beliydm.       Нашел Ваши топики, но там версия 1.0, а я терзаю 1.5.9. На всякий случай качнул zip архив. Не работает как и следовало ожидать. А жаль.. Sad
Не сочтите за назойливость- это можно как-то в 1.5.9 реализовать. Ну очень надо.
Записан
beliyadm
Профи
********

Репутация: +1479/-61
Offline Offline

Пол: Мужской
Сообщений: 7746


Севастополь==Россия


« Ответ #68 : 18.05.2009, 13:16:58 »

Нашел Ваши топики, но там версия 1.0, а я терзаю 1.5.9.
плохо искали Azn http://joomlaforum.ru/index.php/topic,42388.0.html
Записан
taiber
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 36


« Ответ #69 : 18.05.2009, 13:47:16 »


Это я видел конечно:). Сейчас еще прочитал. Но там вопрос "в этом модуле Название категории (в виде ссылки на это категорию) и вывод автора ?" Я хотел анонсы категории.  И в helper.php "$query = 'SELECT a......." есть этот код. Мож чего не догоняю? Azn
Записан
obormot
Осваиваюсь на форуме
***

Репутация: +1/-2
Offline Offline

Сообщений: 80



« Ответ #70 : 19.05.2009, 18:45:30 »

У меня глюк был с Joomla 1.5.5... Даже не знал, что это 1.5.5, не я ставил. Не работал $mainframe->getCfg('live_site') естественно, переменную глобальной объявлял. Обновил до версии 1.5.7 и заработало...
у меня 1.5.9. в шаблоне пишу:

global $mainframe;
echo $mainframe->getCfg('live_site');

и тишина.. не выводит собако!
Записан
beliyadm
Профи
********

Репутация: +1479/-61
Offline Offline

Пол: Мужской
Сообщений: 7746


Севастополь==Россия


« Ответ #71 : 19.05.2009, 19:54:26 »

попробуй так
$config = & JFactory::getConfig();
echo 
$config->getValue('live_site');
Записан
VETERINAR
Живу я здесь
******

Репутация: +165/-14
Offline Offline

Пол: Мужской
Сообщений: 994


Kiss my shiny metal ass!


« Ответ #72 : 20.05.2009, 07:49:31 »

Цитировать
Обновил до версии 1.5.7 и заработало...

Хм, оказалось работало, потому, что другой разработчик просто дописал это в конфиг Azn Сам.

попробуй так
$config = & JFactory::getConfig();
echo 
$config->getValue('live_site');


Как этот код может работать чисто теоретически, если live_site в конфиге всегда пустой? Он не используется вообще. Подозреваю, что оставлен для совместимости.

Вот, что работает:

Код
<?php echo JURI::base(); ?>

И поправьте чтоли в первом посте или приведите рабочий пример. "$mainframe->getCfg('live_site') - URL сайта" - не работает.
Записан
obormot
Осваиваюсь на форуме
***

Репутация: +1/-2
Offline Offline

Сообщений: 80



« Ответ #73 : 20.05.2009, 09:24:54 »

Не работает:
Код
$config = & JFactory::getConfig();
echo $config->getValue('live_site');
 

Работает:
Код
<?php echo JURI::base(); ?>
Записан
beliyadm
Профи
********

Репутация: +1479/-61
Offline Offline

Пол: Мужской
Сообщений: 7746


Севастополь==Россия


« Ответ #74 : 20.05.2009, 11:51:55 »

VETERINAR - если я делаю принт массива $config - то у меня значение live_site заполнено (на 1.5.10)
Записан
VETERINAR
Живу я здесь
******

Репутация: +165/-14
Offline Offline

Пол: Мужской
Сообщений: 994


Kiss my shiny metal ass!


« Ответ #75 : 20.05.2009, 11:54:09 »

VETERINAR - если я делаю принт массива $config - то у меня значение live_site заполнено (на 1.5.10)

Режим совместимости включен? А если выключить?
Записан
beliyadm
Профи
********

Репутация: +1479/-61
Offline Offline

Пол: Мужской
Сообщений: 7746


Севастополь==Россия


« Ответ #76 : 20.05.2009, 11:55:33 »

Режим совместимости включен? А если выключить?
никогда легаси не включаю
Записан
VETERINAR
Живу я здесь
******

Репутация: +165/-14
Offline Offline

Пол: Мужской
Сообщений: 994


Kiss my shiny metal ass!


« Ответ #77 : 20.05.2009, 11:58:03 »

никогда легаси не включаю

Ок, на досуге тщательно этот вопрос изучу. Потом отредактирую это сообщение и скажу чаво выяснил Azn
Записан
skater
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 27



« Ответ #78 : 08.06.2009, 13:10:50 »

Подскажите плз как вывести заголовок компонента/страницы в шаблон...
Записан
beliyadm
Профи
********

Репутация: +1479/-61
Offline Offline

Пол: Мужской
Сообщений: 7746


Севастополь==Россия


« Ответ #79 : 08.06.2009, 13:19:26 »

Подскажите плз как вывести заголовок компонента/страницы в шаблон...
$document = & JFactory::getDocument();
echo 
$document->title;
Записан
Piterv777
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 23


Fortuna non penis, in manus non recepi!


« Ответ #80 : 13.06.2009, 18:18:19 »

Подскажите, чем обусловлено это дублирование шаблона в пакете сайта:
Z:\home\scb.ru\www\templates\шаблон
и второй раз этот же шаблон с путём:
Z:\home\scb.ru\www\libraries\joomla\template\шаблон
Записан
userxp
Администратор
*******

Репутация: +401/-6
Offline Offline

Пол: Мужской
Сообщений: 2379


Злой и ужасный бармалей


« Ответ #81 : 13.06.2009, 18:20:51 »

что такое "пакет сайта"? и откуда эти пути взяты?
Записан
Piterv777
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 23


Fortuna non penis, in manus non recepi!


« Ответ #82 : 13.06.2009, 21:11:36 »

что такое "пакет сайта"? и откуда эти пути взяты?
Это пакет Джумла 1.5 + Виртуй 1.1.3. Т.е разработчики предлагают готовый магазин на Джумла-движке (не русифицированный). Процесс установки - тот же, что и дистрибутива Джумлы с её штатным фаршем и шаблонами (тот же кик старт). Начитавшись восторгов об этом сайте (Shopper_Frenzy) - скачал с сайта разработчиков и установил. Но работаёт всё криво и косо. Часть опций вообще не работает. Тормозит по чёрному. С кнопок меню с тормозами попадаешь часто непонятно куда. А то и вообще ничего не происходит, хотя внешне - кнопки работающие.
А пути взяты с локалки после заливки сайта.
« Последнее редактирование: 13.06.2009, 22:11:28 от Piterv777 » Записан
orchanin
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 199



« Ответ #83 : 31.07.2009, 16:24:24 »

Интересно а как изменить вывод <jdoc:include type="component" /> в дивы ато как то не понятно возможность изменить вывод модулей есть а компонента нет?
Записан
gdX
Support Team
*****

Репутация: +128/-0
Offline Offline

Пол: Мужской
Сообщений: 1195


Дизайн спасет Мир!


« Ответ #84 : 31.07.2009, 18:00:51 »

Интересно а как изменить вывод <jdoc:include type="component" /> в дивы ато как то не понятно возможность изменить вывод модулей есть а компонента нет?
Вы про Шаблонизация компонентов в Joomla1.5. Первый взгляд.?
Записан
orchanin
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 199



« Ответ #85 : 31.07.2009, 19:25:08 »

Да! за оф топ сори!
Записан
Neonsly
Гость
« Ответ #86 : 11.08.2009, 13:43:46 »

Ребят, а стиль отображение '-3' в 1.0, в 1.5 чему идентичен?\

ps: вроде rounded.
« Последнее редактирование: 11.08.2009, 14:03:42 от Neonsly » Записан
tronind
Гость
« Ответ #87 : 11.08.2009, 15:41:59 »

Проблему решил, ссори за офтоп, готов понести наказание если чем обидел.
« Последнее редактирование: 11.08.2009, 19:36:22 от tronind » Записан
tronind
Гость
« Ответ #88 : 11.08.2009, 15:44:30 »

Ребят, а стиль отображение '-3' в 1.0, в 1.5 чему идентичен?\

ps: вроде rounded.
да, именно
style="rounded" модули выводятся четырьмя блоками DIV, вложенными друг в друга
Записан
Vlad_Vita
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 27



« Ответ #89 : 28.08.2009, 09:42:55 »

fred
вот в нете надыбал русский мануал с рисунками по созданию шаблона для Joomla 1.5 (в формате *.pdf 37 страниц)   может кому пригодится Wink
http://fred-design.com.ua/fred/Template_User_Manual_RUS.pdf

fred, этот мануал по содержанию здорово смахивает на точно такой же для Joomla 1.0  Cool
И шаблон сделанный по нему не ставится...
Записан
steve_black
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4



« Ответ #90 : 29.08.2009, 17:43:43 »

люди! дайте чистый CSS с описанием для 1.5!
заранее спасибо!
Записан
Страниц: 1 2 [3] 4 5 6 7 8   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.18 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet