/var/log/life.log
Блог программиста из солнечной Бурятии

Табы в joomla

Попробую начать цикл статей по встроенным возможностям в joomla 1.6.
Стартуем вывод табов:

1
echo JHtml::_('tabs.start','tabs', array('useCookie'=>1,'startOffset'=>1));


Вторым аргументом идёт id блока табов, третьим массив опций:
useCookie – запоминать выбранный таб в куках;
onBackground – переназначает функцию обработки активации таба;
onActive – переназначает функцию обработки скрытия таба;
startOffset – номер таба, который будет показываться по умолчанию, отсчёт начинается с нуля;
titleSelector – селектор заголовков;
descriptionSelector – селектор описаний.

onActive и onBackground по умолчанию:

1
2
3
4
5
6
7
8
function onActive(title, description) {
    description.setStyle('display', 'block');
    title.addClass('open').removeClass('closed');
};
function onBackground(title, description){
    description.setStyle('display', 'none');
    title.addClass('closed').removeClass('open');
};

title – Element mootools заголовка таба;
description – Element mootools контента таба;

Выводим содержимое таба

1
2
echo JHtml::_('tabs.panel','таб1', 'tab1');
echo 'Контент Таб1';

Второй аргумент – заголовок таба, третий – id таба
После добавления нужного числа табов, закрываем блок

1
echo JHtml::_('tabs.end');

В результате получим что-то вида:

1
2
3
4
5
6
7
8
echo JHtml::_('tabs.start','tabs', array('useCookie'=>1,'startOffset'=>1));
echo JHtml::_('tabs.panel','таб1', 'tab1');
echo 'Контент Таб1';
echo JHtml::_('tabs.panel','таб2', 'tab2');
echo 'Контент Таб2';
echo JHtml::_('tabs.panel','таб3', 'tab3');
echo 'Контент Таб3';
echo JHtml::_('tabs.end');

tabs