Если Drupal находится в своем собственном домене (то есть http://example.com
), абсолютный путь будет /sites/default/files/images/abc.jpg
.
Если Drupal находится в подпапке (например, http://example.com/drupal
), абсолютный путь будетбыть /drupal/sites/default/files/images/abc.jpg
.
Как я объяснил в своем ответе на тот же вопрос, который вы удалили, если вы пытаетесь программно сгенерировать путь (то есть вы не знаете, где находится каталог файлов), вам нужно использовать file_directory_path()
:
$image = file_directory_path() . "/images/abc.jpg";
Поэтому, если файлы находятся в:
- sites / default / files :
$image = "sites/default/files/images/abc.jpg"
. - sites / example.com / files :
$image = "sites/example.com/files/images/abc.jpg"
.
Если ваш предыдущий вопрос все еще является вариантом использования, вам следуетиспользуя l()
и theme_image()
для генерации ссылок и изображений соответственно внутри вашего модуля.Это обеспечит правильность сгенерированных путей в среде Drupal.
Используя ожидаемый вывод, который вы предоставили ранее, решение будет выглядеть следующим образом:
// Images are in drupalroot/sites/default/files/images
$path = file_directory_path() . '/images/';
$detail_file = 'detail_1.jpg';
$image_file = '1.jpg';
$img = theme('image', $path . $image_file);
$options = array(
'attributes' => array(
'title' => t('Sample title for image 1 lorem ipsum'),
),
'html' => TRUE,
);
$output = l($img, $path . $detail_file, $options);
Таким образом, если ваш сайт находится на http://example.com/
, результат будет:
<a href="/sites/default/files/images/default_1.jpg" title="Sample title for image 1 lorem ipsum">
<img src="/sites/default/files/images/1.jpg" height="<image height>" width="<image width>" />
</a>
Но если ваш сайт находится в подпапке (например, http://example.com/drupal
), результат будет:
<a href="/drupal/sites/default/files/images/default_1.jpg" title="Sample title for image 1 lorem ipsum">
<img src="/drupal/sites/default/files/images/1.jpg" height="<image height>" width="<image width>" />
</a>