Аватар пользователя Dima

Создание ссылки в друпал.

Как в drupal создавать ссылки? Как сделать так чтоб ссылки в drupal были универсальными и не привязанными ни к хосту ни к директории сайта на сервере? Этими вопросами начал я задавался когда на разрабатываемом сайте после включения чистых ссылок и переносе на другой сервер начали пропадать то картинки, то внутренние ссылки.
Как оказалось друпал обладает отличными инструментарием для создания ссылок. Первая функция о которой я бы хотел рассказать это функция l() (link). Эта простая функция является очень удобным инструментом для создания ссылок в drupal.
Самый простой способ ее применения:
<?php print l('текст_ссылки', 'путь_ссылки') ?>
В результате друпал создаст внутреннюю ссылку которая не будет зависеть ни от языкового домена, ни от того включены ли сейчас "чистые ссылки".
Вы уже наверное заходили на api.drupal.ru и видели что функция l() может также создавать внешние ссылки и включать в ссылку HTML.
Приведу пример как это сделать:

  1. <?php print l("&lt;img src='путь_к_картинке' alt=''/&gt;", "ссылка",
  2. $options = array(
  3. 'absolute'=>true,
  4. 'html'=>true,
  5. 'attributes' => array ('title'=> t('title text'))));
  6. ?>

В результате выполнения подобного кода будет создана картинка-ссылка, ссылка будет начинаться с http://, то-есть будет внешней и, что не мало важно для поисковой оптимизации, будет иметь title.

В следующей статье расскажу какой вариант можно использовать для создания абсолютных ссылок к ресурсам сайта.

Комментарии

Спасибо! А вот как правильно

Спасибо! А вот как правильно вставлять в новый материал заранее закачанные по FTP изображения?
Чтобы в результате пользователи видели через браузер картинки с путями типа "mysite.com/images/pic.jpg", а не "mysite.com/sites/default/files/pic.jpg"?
Создаю из админки статью, вставляю туда изображения с помощью IMCE или любого другого модуля и есть доступ только к папке "sites/default/files".
Что делать? Как-то тюнинговать IMCE? Или наоборот, синонимами обрабатывать пути? Не получается ни то, ни другое.