使用Silex和Twig时图像不显示

时间:2014-08-07 08:03:49

标签: symfony twig silex

我使用Silex-Skeleton。模板目录(templates / layout.html)中存在Twig布局。我将图像存储在web / img目录(top.jpg)中。我还使用内置的php5.4服务器运行:

php -S localhost:8000 web/index_dev.php

在templates / layout.html中,我想使用web / img / top.jpg图片。所以我放在那里:

<img src="{{ app.request.basepath }}/img/top.jpg">

但图片没有显示。

我也试过了:

<img src="/img/top.jpg">
<img src="/web/img/top.jpg">

但也没有成功。

我的控制器看起来像(index.html扩展layout.html):

$app->get('/', function () use ($app) {
  return $app['twig']->render('index.html', array());
})->bind('homepage');

如何让图像生效?

1 个答案:

答案 0 :(得分:0)

您可以直接导航到http://localhost:8000/web/img/top.jpghttp://localhost:8000/img/top.jpg吗?如果您无法直接浏览和查看它们,则无法呈现它们,因为浏览器也无法在页面上显示它们。

您的图片实际位于 / web 文件夹中还是之下? (即它们不应位于 / templates 文件夹中)

也许你可以尝试在启动PHP webserver时设置docroot明确地唱出-t选项。

否则我建议建立像Apache这样的真实Web服务器。如果您运行OS X或* nix,则您的操作系统可能已安装此操作系统。