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中文網其他相關文章!