Symfony 2 中 CSS 文件中资源的路径
在 Symfony 2 的上下文中,在 CSS 文件中引用图像存在困难来自不同的目录结构。考虑以下目录结构:
... +-src/ | +-MyCompany/ | +-MyBundle/ | +-Resources/ | +-assets/ | +-css/ | +-stylesheets... +-web/ | +-images/ | +-images... ...
尝试在样式表中引用图像,同时遵循将原始 CSS 文件保留在资源目录 (/src/MyCompany/MyBundle/Resources/) 中的最佳实践时,就会出现挑战。 assets/css/) 和公共目录 (/web/images/) 中的图像。
初始解决方案
初始尝试包括使用绝对路径和 Assetic 以及“ cssrewrite”过滤器。然而,这些解决方案被证明是无效的。
当前解决方案
当前解决方案涉及利用 CSS 文件中的相对路径并相应地调整 twig。不使用绝对路径,而是按如下方式引用图像:
url("../images/myimage.png")
此解决方案在生产环境中有效,但在开发环境中遇到问题,导致 NotFoundHttpException。
改进的解决方案
为了解决这个问题,改进的解决方案包括将 CSS 文件放在公共目录中并使用 asset 函数来引用图像。此外,在 assetic:dump 命令之后可以删除原始 CSS 文件。这允许在保持原始 CSS 文件私有的同时仍然正确引用图像的所需行为。
最终获胜者
在测试各种方法后,最好的解决方案是使用asset 函数,CSS 文件位于公共目录中。这种方法遵循了保持原始 CSS 文件不发布的需要,同时确保图像的正确引用。
以上是以下是一些标题选项,强调问答格式: **选项 1(关注挑战和解决方案):** * **如何在 Symf 中引用来自不同目录的 CSS 文件中的图像的详细内容。更多信息请关注PHP中文网其他相关文章!