l
includes/common.inc, строка 1394
- Версии
- 5
l($text, $path,
$attributes= array(),$query= NULL,$fragment= NULL,$absolute= FALSE,$html= FALSE)- 6
l($text, $path, $options = array())
Оформляет ссылки. Эта функция корректно работает с синонимами путей, а также позволяет темам корректно подсвечивать ссылки на текущую страницу, поэтому все ссылки, по возможности, должны генерироваться этой функцией.
Параметры
$text
Текст ссылки.
$path
Путь, на который ссылаемся (например, 'admin/content/node'
). Конечная ссылка генерируется с помощью url()
, поэтому путь может быть как внутренней ссылкой, так и внешним URL-ом:
- Если подается полный URL, будет создана внешняя ссылка.
- Если подается только путь (т.е.
'admin/content/node'
), создается внутренняя ссылка (без'http://'
). Подаваемый путь может быть как внутренним путем Друпала (т.е.'node/123'
), так и синонимом.
$attributes
Ассоциативный массив HTML атрибутов тега ссылки. К примеру, для открытия ссылки в новом окне можно использовать:
$options=array('attributes'=>array('target'=>'_blank'));
$query
GET парметры ссылки строкой (без '?'
).
$fragment
Якорный фрагмент ссылки (то, что идет после '#'
).
$absolute
Принудительное создание внешней ссылки (начинается с 'http://'
) (полезно, если вы создаете ссылку, которая будет показываться вне сайта (например, в RSS ленте)).
$html
Присутствует ли HTML в тексте ссылки. Например, если вы хотите вставить в ссылку рисунок, эту опцию следует установить в TRUE
, иначе HTML в тексте отфильтруется (см. check_plain()
).
Возвращаемое значение
HTML код ссылки.
Связанные темы
Код
<?php
function l($text, $path, $attributes = array(), $query = NULL, $fragment = NULL, $absolute = FALSE, $html = FALSE) {
if (($path == $_GET['q']) || ($path == '<front>' && drupal_is_front_page())) {
if (isset($attributes['class'])) {
$attributes['class'] .= ' active';
}
else {
$attributes['class'] = 'active';
}
}
return '<a href="'. check_url(url($path, $query, $fragment, $absolute)) .'"'. drupal_attributes($attributes) .'>'. ($html ? $text : check_plain($text)) .'</a>';
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии