Symfony2 - 资源文件无法加载

3
今天我的Symfony2测试项目又出了问题。现在我正在尝试使用一些资产,比如.css文件和图片。
到目前为止我做了什么?
Bundle名称是MyValleyBundle,所以在AppKernel.php中注册了Bundle:
new My\ValleyBundle\MyValleyBundle(),

我将相应的文件分别放置到了以下文件夹中:css文件到css文件夹,图片到images文件夹等等,这个文件夹是: src/My/ValleyBundle/Resources/public/ 然后我执行了以下命令: php app/console assets:install web 在index.html.twig文件中,我正确地放置了以下两行内容:
<link href="{{ asset('/css/style.css') }}" type="text/css" rel="stylesheet" />
<img src="{{ asset('images/file.png') }}" alt="some image" />

万一我使用775权限递归chmod了symfony2文件夹中的所有文件和文件夹,绝望时我还尝试了777。

输出?当我打开网站时,它显示从.twig文件执行的h1、h2和其他文本相关标签,但完全忽略了我尝试作为资产加载的任何内容。

也尝试过其他浏览器、清除缓存、重启服务器。

如何使用资产?它们根本没有被使用。

2个回答

0

输入命令

app/console assets:install

在你的项目主目录中打开控制台。这将把你的文件从 src/AppBundle/Recourses/public/ 复制到 web/bundles/app/ 目录。

我已经做了这个,但仍然没有应用CSS,也没有显示图片。 - spectatorx

0

你的资源文件需要通过一个bundle进行限定 - assets:install会将它们安装在/web/bundles目录下相应命名的子目录中:

<link href="{{ asset('bundles/myvalley/css/style.css') }}" type="text/css" rel="stylesheet" />
<img src="{{ asset('bundles/myvalley/images/file.png') }}" alt="some image" />

如果您在 Web 目录中查找文件,则会看到此目录结构。请注意,assets:install 命令会输出每个捆绑包正在将文件复制到的位置。

bundles/myvalley 是否确实是您的捆绑文件在 Web 目录中的位置?您是否查看/获取了 assets/install 命令的输出?因为您在原始问题中提供的内容肯定不会起作用。 - redbirdo
还有,你是在我编辑之前还是之后尝试过这个?因为我的初始帖子中有一个错误。 - redbirdo
最后(抱歉!)你应该在原始帖子中包含你尝试过的所有内容,这样回答者就不会浪费时间,并有机会指出你已经尝试过的可能错误。 - redbirdo
是的,你编辑的代码行对我很有帮助,谢谢!这就是最终可用的代码行:<img src="{{ asset('bundles/myvalley/images/image.jpg') }}" alt="some image" />。 - spectatorx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接