Размещение ссылок
1-ый способ: ссылка
Ссылка формируется через функцию l()
.
l('Название ссылки', 'url/to/page');
В результате сгенерируется следующий HTML-код:
<a href="/url/to/page">Название ссылки</a>
Вывод ссылок через функцию l()
позволяет выводить ссылки в зависимости от настроек сайта (например с синонимом, без синонима, ЧПУ и т.д.)
Например, следующий код:
l('Пункт меню', 'taxonomy/term/45');
Будет сгенерирован в следующий HTML-код:
<a href="/catalog/sites">Пункт меню</a>
Данная функция преобразовала исходный URL taxonomy/term/45
в синоним /catalog/sites
соглано настройкам сайта.
2-ой способ: ссылка со строкой запроса
Чтобы добавить строку запроса, в третьем параметре надо добавить свойство query
.
$query_string = [ 'id' => 1, 'cat' => 'post' ]; l('Название ссылки', 'url/to/page', ['query' => $query_string]); // <a href="/url/to/page?id=1&cat=post">Название ссылки</a>
3-ий способ: список ссылок
Списки выводятся через функцию theme()
с параметром links
.
$links = array( 'Class_link1' => array( 'title' => 'Link 1', 'href' => 'url-1' ), 'Class_link2' => array( 'title' => 'Link 2', 'href' => 'url-2' ) ); // Вывод список ссылок echo theme('links', array('links' => $links));
В результате сгенерируется следующий HTML-код:
<ul class="links"> <li class="Class_link1 first"><a href="/url-1">Link 1</a></li> <li class="Class_link2 last"><a href="/url-2">Link 2</a></li> </ul>
Также данный способ добавит класс first
к первому элементу списка, и класс last
к последнему элементу списка. И добавит класс active
к текущей ссылки.
4-ый способ: ссылка как картинка
Сделать картинку ссылкой можно через функцию theme()
с параметром image
.
$image_path = theme('image', array('path' => 'public://images/pic.jpg')); echo l($image_path, 'node/1', array('html' => true));
При каждом построении ссылки, выполняется функция drupal_lookup_path()
, код которого находится в файле includes/path.inc.