JRoute

’tag’

Добавление файла CSS к шаблону компонента в Joomla 1.7

Май 29, 2012

Joomla 1.7 хранит CSS и JS файлы в следующей папке:
/media

При создании компонента в папке media должна быть подпапка равная имени компонента. При компоненте com_simple:
/media/com_simple

В данной папке создаем папку css и помещаем туда файл со стилями:
/media/com_simple/css/user.css

Теперь подключим CSS файл из вида user и шаблона default:

$document = JFactory::getDocument();
$document->addStyleSheet(JURI::base() . 'media/com_simple/css/user.css');

Сначала через класс JFactory и статический метод getDocument(), который вернет объект класса JDocument.

Объект класса JDocument будет записан в переменную $document и с помощью метода addStyleSheet() файл CSS со стилями будет подключен к шаблону.

Метод addStyleSheet() выглядит следующим образом:

public function addStyleSheet($url, $type = 'text/css', $media = null, $attribs = array())
{
	$this->_styleSheets[$url]['mime']		= $type;
	$this->_styleSheets[$url]['media']		= $media;
	$this->_styleSheets[$url]['attribs']	= $attribs;
}

Отмечу, что в данном случае ссылка, которая отправляется в метод addStyleSheet() не обрабатывается классом JRoute. С помощью класса JURI получается префикс для ссылки: имя домена – через метод base() и сцепляется с окончанием, которое прописывается вручную.

Tags: , , , , , , , , , , ,
Записано в Joomla, Программирование    |    Постоянная ссылка

Использование класса JRoute в компоненте для отображения ссылок в Joomla 1.7

Май 29, 2012

Класс JRoute имеет один единственный метод «_». Данный метод позволяет при передаче ему ссылки отобразить ее как обычную ссылку, либо в SEF виде. Также при разработке не нужно заботиться о передаче имени домена сайта.

Следующая запись:

JRoute::_('index.php?option=com_simple&view=user&id=' . $user->user_id');

при $user->user_id равным 42 преобразуется в следующий вид:
http://localhost/joomla17/index.php?option=com_simple&view=user&id=42

Однако, если включен параметр "Search Engine Friendly URLs", то ссылка будет SEF вида.

Примечание

Класс JRoute следует использовать исключительно для перелинковки, а точнее применения полученной ссылки в теге <a>.

Tags: , , ,
Записано в Joomla, Программирование    |    Постоянная ссылка