| 5 common.inc | l($text, $path, |
| 6 common.inc | l($text, $path, $options = array()) |
| 7 common.inc | l($text, $path, array $options = array()) |
| 8 common.inc | l($text, $path, array $options = array()) |
Format an internal Drupal link.
This function correctly handles aliased paths, and allows themes to highlight links to the current page correctly, so all internal links output by modules should be generated by this function if possible.
Parameters
$text: The text to be enclosed with the anchor tag.
$path: The Drupal path being linked to, such as "admin/content/node". Can be an external or internal URL.
- If you provide the full URL, it will be considered an
external URL.
- If you provide only the path (e.g. "admin/content/node"), it is considered an
internal link. In this case, it must be a system URL as the url() function will generate the alias.
$attributes: An associative array of HTML attributes to apply to the anchor tag.
$query: A query string to append to the link.
$fragment: A fragment identifier (named anchor) to append to the link.
$absolute: Whether to force the output to be an absolute link (beginning with http:). Useful for links that will be displayed outside the site, such as in an RSS feed.
$html: Whether the title is HTML, or just plain-text. For example for making an image a link, this must be set to TRUE, or else you will see the encoded HTML.
Return value
an HTML string containing a link to the given path.
Related topics
File
- includes/
common.inc, line 1418 - Common functions that many Drupal modules will need to reference.
Code
<?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>';
}
?> Login or register to post comments
Comments
Example with custom class, allowing HTML
In the example below, the class="widelink" attribute is added to the a tag. Also, the final parameter is set to TRUE to allow the HTML in the link text itself. Without this, the HTML would be escaped and you would see the strong tag written to the page.
<?phpl(
'An <strong>awesome</strong> link!',
'node/56',
array('class' => 'widelink'),
NULL,
NULL,
FALSE,
TRUE
);
?>