Rumah >hujung hadapan web >tutorial css >Bagaimana untuk Merujuk Aset dengan Betul dalam Fail CSS Dalam Projek Symfony 2?

Bagaimana untuk Merujuk Aset dengan Betul dalam Fail CSS Dalam Projek Symfony 2?

Patricia Arquette
Patricia Arquetteasal
2024-11-16 06:06:021028semak imbas

How to Correctly Reference Assets in CSS Files Within a Symfony 2 Project?

Laluan Aset dalam Fail CSS dalam Symfony 2

Symfony 2 menyediakan mekanisme untuk mengurus aset, seperti CSS dan fail imej, melalui komponen Asetik. Walau bagaimanapun, menentukan laluan yang betul ke aset yang dirujuk dalam CSS boleh menjadi cabaran dalam struktur direktori projek tertentu.

Tinjauan Keseluruhan Masalah

Pertimbangkan struktur direktori berikut:

...
+-src/
| +-MyCompany/
|   +-MyBundle/
|     +-Resources/
|       +-assets/
|         +-css/
|           +-stylesheets...
+-web/
| +-images/
|   +-images...
...

Dalam kes ini, fail CSS berada di bawah /app/Resources/assets/css, manakala imej terletak di /web/images. Matlamatnya adalah untuk merujuk imej ini dari dalam fail CSS.

Penyelesaian Gagal

Penyelesaian Pertama: Laluan Mutlak

Menukar laluan dalam fail CSS kepada URL mutlak bukanlah penyelesaian yang berdaya maju kerana aplikasi mungkin tidak sentiasa berjalan dalam direktori akar.

Penyelesaian Kedua: Asetik dengan Penapis CSSrewrite

Menggunakan Asetic dengan penapis "cssrewrite" juga gagal, kerana kod yang dijana tidak menghasilkan laluan yang betul ke imej.

Penyelesaian Semasa: Laluan Relatif

Mentakrifkan imej laluan relatif kepada fail CSS berfungsi dalam persekitaran pengeluaran tetapi gagal dalam persekitaran pembangunan.

Penyelesaian Berfungsi

Penyelesaian yang paling berkesan ialah menyimpan fail CSS dalam direktori boleh diakses secara umum dan bina semula CSS semasa penggunaan. Begini caranya:

  1. Alihkan fail CSS ke Resources/public/css.
  2. Kemas kini templat Twig untuk merujuk fail CSS daripada direktori awam.
  3. Gunakan arahan assets:install --symlink untuk mencipta pautan simbolik ke fail CSS awam di lokasi yang sesuai.
  4. Semasa penggunaan, alih keluar fail CSS asal daripada direktori awam, hanya tinggalkan pautan simbolik.

Dengan pendekatan ini, fail CSS disusun semula semasa penggunaan, memastikan ia mengandungi laluan yang betul ke imej. Imej itu sendiri masih terdapat dalam direktori web/imej, tetapi ia tidak boleh diakses secara langsung oleh pengguna.

Atas ialah kandungan terperinci Bagaimana untuk Merujuk Aset dengan Betul dalam Fail CSS Dalam Projek Symfony 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn