Theme_image()不返回任何内容

时间:2012-12-24 03:53:03

标签: drupal-6

我陷入了最简单的障碍。在Drupal 6中,我试图将用户输入的路径带到图像并将该图像输出到页面。这是一些代码:

$slogan_image = theme('image', $slogan_image_path);
dpm("\$slogan_image_path = '$slogan_image_path'");
dpm("\$slogan_image = '$slogan_image'");

devel输出显示:

$slogan_image_path = '/sites/default/files/images/Family.jpg'
$slogan_image = ''

'/sites/default/files/images/Family.jpg'上有一张图片;如果我浏览www.mysite.com/sites/default/files/images/Family.jpg,将显示图像。

我做错了什么?感谢。

1 个答案:

答案 0 :(得分:0)

问题在于我的道路是以斜线开头的。 Drupal路径没有初始斜杠。 Drupal是开源的,我可以看看the Drupal 6 api docs并看到theme_image的代码包含在这一行:

$url = (url($path) == $path) ? $path : (base_path() . $path);

向我展示Drupal会在我的路径前面添加base_path()。在Execute PHP页面中自己执行该代码,让我看到theme_image最终会使用//sites/default/files/images/Family.jpg作为$ url,显然是非法的值。

我以为我会将这个简短的解释附加到我的小问题上,以帮助初学者看看我是如何调试它的。