在包含自定义模块的目录中,我有一个包含图像的目录。
如何获取这些图像的 URL?
drupal_get_path('module', $module_name);
如上所述,最简单的方法是使用站点根目录的相对路径:
'/' . drupal_get_path('module', $module_name) . '/img1.jpg'
在开头不使用斜杠的情况下使用它会在多个级别别名上破坏它,例如http://www.your_site.dev/category/2012/11/02/
// path
drupal_get_path('module', $module_name) . '/images';
file_create_url(drupal_get_path('module', $module_name)) 。'/图片';
一个在 Drupal 7 和 8 中工作的更完整的示例。所有其他答案仅显示如何返回模块的路径,而不是如何实际从中创建 URL。
<?php
$module_path = drupal_get_path('module', 'mymodule');
$image_path = "$module_path/images/img1.jpg";
$image_url = file_create_url($image_path);
要获取图像的正确 URL,您需要base_path()
在图像路径的开头附加。正确的 URL 是:
$url = base_path() . drupal_get_path("module", "MY_MODULE") . "/image.png";