Хитрости в шаблонах Joomla 1.5. Часть 3: Всякого рода полезности
Это скорее всего завершающая часть, она так же будет наполнятся по мере накопления знаний. Здесь напишу всего понемножку чем сам пользуюсь, а напишу для того что бы самому не забыть :)
Не будем отвлекаться и сразу приступим к тезисам. Только следует помнить что всё то, что тут описано, написано для шаблонов: да некоторые вещи будут работать, и в компонента, и в модулях, но далеко не все.
1) Как вывести URL-адрес сайта?
<?php echo JURI::base() ?>
2) Как вывести название сайта?
<?php echo $mainframe->getCfg('sitename') ?>
3) Как вывести e-mail администратора?
<?php echo $mainframe->getCfg('mailfrom') ?>
4) Как вывести текущую дату?
<?php echo JHTML::Date( 'now', '%d | %m | %Y' ) ?>
Форматирование даты можно подсмотреть в мануале.
5) Как вывести заголовок текущей страницы?
<?php
$document =& JFactory::getDocument();
echo $document->title;
?>
6) Как в зависимости от времени суток отображать тот или иной шаблон?
Если шаблоны отличаются только стилями (css) то можно просто от времени суток подгружать тот или иной стиль, например так:
<link rel="stylesheet" href="/</span><span class="pun"><?php echo $this->baseurl ?>/templates/vekta/css/<?php echo (date("%H")>=7 && date("%H")<19) ? "day" : "night" ?>.css" type="text/css" />
Если шаблоны координатно разные то слить (ну подправить пути там где надо) шаблоны в один каталог и переименовать файл index.php обеих шаблонов например в index-day.php и index-night.php. Создать index.php и написать в нём:
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
if (date("%H") >= '7' && date("%H") < '18') {
require 'index-day.php';
} else {
require 'index-night.php';
}
?>
7) Как сделать свои страницы ошибок?
По умолчанию Joomla 1.5 использует специальные файл "/templates/system/error.php" для вывода ошибок с кодами статуса: 403, 404, 500. Если вы хотите изменить этот файл то вам нужно скопировать его в каталог с вашим шаблоном, а так же скопировать файл стилей из "/templates/system/css/error.css" в каталог со стилями вашего шаблона и в «error.php» подредактировать путь к новому файлу стилей. После этого можно править их как душе угодно. Всё это нужно для того, чтобы бы не возникало проблем при обновлении Joomla, да просто так правильно, ведь не зря разработчики создали такую систему шаблонизации.
Теперь рассмотрим небольшой пример. Например для кода ошибки 404 выведем соответствующее сообщение:
<?php if ($this->error->code = '404') { ?>
<div id="errorboxheader">Ошибка 404: Странница не найдена</div>
<div id="errorboxbody">
<p>К сожалению, странница, которую вы запрашивали, не найдена.</p>
</div>
</div>
<?php } ?>
Вот так легко, теперь всё дело в вашей фантазии :)
8) Для чего нужен файл «params.ini» в каталоге с шаблоном?
Этот файл служит для записи параметров шаблона, которые задаются в панели управления шаблоном, а описываются в файле «templateDetails.xml». Например сделаем возможность в параметрах шаблона задавать фон шаблона. В «templateDetails.xml» добавим секцию для параметров и сам параметр:
<params>
<param name="backgroundVariation" type="list" default="blue" label="Background Variation" description="Background color variation to use">
<option value="blue">Blue</option>
<option value="red">Red</option>
<option value="green">Green</option>
<option value="orange">Orange</option>
<option value="black">Black</option>
<option value="white">White</option>
</param>
</params>
Теперь в тег BODY вашего шаблона добавим хитросделанный атрибут CLASS и получим:
<body class="color_</span><span class="pun"><?php echo $this->params->get('colorVariation') ?>">
А в стилях шаблона опишем классы:
.color_blue {color:#3796cf;}
.color_red {color:#ff1d1d;}
.color_green {color:#438f29;}
.color_orange {color:#ff8712;}
.color_black {color:#000000;}
.color_white {color:#ffffff;}
http://joomlacity.net/blog/tem_creator/20.html
Хитрости в шаблонах Joomla 1.5. Часть 3: Всякого рода полезности - Генератор расширений Joomla и многое другое на нашем сайте посвященном работе расширений, компонентов, модулей, плагинов для линейки Joomla. Отправляйте ссылку на страницу своим друзьям и в социальные сети воспользовавшись графическими иконками выше.