Хитрости в шаблонах 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. Отправляйте ссылку на страницу своим друзьям и в социальные сети воспользовавшись графическими иконками выше.

Блог

Календарь приёма объявлений

Небольшой пример из повседневной практики. Организация меняет реквизиты, и они вступят в силу через  пару недель. На сайте идет приём объявлений и объявления принимаются на несколько месяцев в...

Дырка в com_content

Сегодня у товарища, сайт которого находится на старой  Joomla 1.0.3, была сильная нагрузка на сервере, просматривая логи обнаружил не вежливый запрос такого порядка: http://сайт/index2...

Лечим вирус на сайте

  Первоначальный осмотр сайта обнаружил, что у клиента закрыт доступ по фтп, что сузило круг подозреваемых уязвимостей, стало быть отверстие в какомто скрипте движка joomla. Касперский яро...

Troj/JSRedir-MH

Снова грянул гром зарежения сайтов новым вирусом  Troj/JSRedir-MH.  И так в коротко по вирусу Troj/JSRedir-MH. Вирус или троян куда интереснее чем свои предшествиники, тепер...

Доработка расширения для рассылки Send Email JK

Сегодня поделюсь немного интересной информацией для владельцев сайтов собранных ан joomla.  Рано и поздно возникает задача подписки и рассылки информации с сайта, это может быть разная постановка зада...

Привет Ie 10 регулярка

И вот и мне пришлось столкнулся с проблемами перехода на win 8 в придачу с ie 10, некоторых постоянных пользователей моих сайтов. На многих сайтах  имеющих раздел по приёму объявлений, использ...

Kunena заменяем ссылку на профиль пользователя

Всем привет, снова снова кунена, получил задание на допиливание популярного форума Kunena, сегодня потребовалось поменять ссылку на профиль пользователя. Это связано с тем, что на сайте стоит социа...

Работает на Kunena - зачем на каждой странице?

  Все у кого стоит форум kunena мешает надпись с двумя ссылкам внизу форума "Работает на Kunena". Сея надпись висит на каждой странице форма, а также страница разработчиков содержит множество вн...

Kunena избавимся от лишних quote

Для тех кто действительно делает сайт для людей, моя следующая заметка. Расскажу вам, как избавиться от лишних quote в постах на форуме kunena. У меня несколько тематических сайтов с нормальной посеща...

Kunena решаем проблему с пропажей аватаров

Так и вот мы обновись до последней версии кунены, сразу видно компонент внутри сильно изменился, и вот незадача у некоторых пользователей пропали аватары, физически они есть но неотображаются. ...

Джомлавикам

Обработка параметров расширений joomla

При разработке расширений для CMS Joomla, таких как плагины, модули, компоненты или шаблоны, часто возникает необходимость получить параметры разрабатываемого или любого другого расширения. В этой ...

Кunena крамсаем шаблон

1. В папке \components\com_kunena\template\ваш_шаблон\ находим файл template.xml и вставляем в него такой кусок (чтобы была возможность выбора показывать это поле или нет): <param name="l...

Подключить свои классы и методы в Joomla?

Иногда случается, что набор собственных функций или библиотек нужно подключить в Joomla. Но иногда подключить их нужно так, чтобы они присутсвовали во всей системе, вне зависимо...

3 новых полезных класса в Joomla 2.5

В платформе Joomla 11.3 разработчики добавлил несколько полезных новых классов для разработчиков. Рассмотрю некоторый из них - JGrid (для построения HTML таблиц), JWebClient (для получения информац...

Репозиторий файлов на Joomla средствами Apache

Создадим две вложенные директории /files/files в корне сайта. Если вы пожелаете использовать другие имена директорий, то вам необходимо будет внести соответствующие правки в дальнейшем. ...