Tôi muốn tải các mẫu Twig nhất định từ cơ sở dữ liệu trong ứng dụng Symfony2 của tôi, trong khi vẫn giữ khả năng sử dụng trình tải gốc để hiển thị các mẫu trong các vị trí hệ thống tệp chuẩn. Làm thế nào để đạt được điều này?Làm thế nào để đăng ký một bộ nạp Twig (tùy chỉnh) khác trong môi trường Symfony2?
Theo như tôi đã hiểu, không có khả năng đăng ký nhiều trình tải lên môi trường Twig. Tôi đã suy nghĩ hai cách (hiện tại):
- Replace the default loader với lớp proxy tùy chỉnh. Khi các mẫu được tham chiếu với ký hiệu @ Bundle-standard, proxy sẽ chuyển yêu cầu tới trình tải mặc định. Trong trường hợp khác, yêu cầu sẽ được chuyển đến bộ tải tùy chỉnh (cơ sở dữ liệu) của tôi; HOẶC
- Xây dựng môi trường Twig hoàn toàn mới. Phương pháp này đòi hỏi phải đăng ký phần mở rộng cành tùy chỉnh cho cả hai môi trường và nó không cho phép các mẫu tham khảo chéo từ các nguồn khác nhau (một số từ @Bundles, một số từ cơ sở dữ liệu)
Cập nhật 1:
Có vẻ như Twig hỗ trợ lớp Twig_Loader_Chain có thể được sử dụng trong tùy chọn đầu tiên của tôi. Tuy nhiên, trình tải mặc định có thể truy cập được và được chuyển đến chuỗi làm tùy chọn đầu tiên.
sự cố này đã được khắc phục trong Symfony 2.3 chưa? – Dayson
Tôi nhận ra đây là một chủ đề cũ, nhưng việc thêm cấu hình trên ngăn chặn các mẫu gỡ rối hồ sơ web được hiển thị - trong đó vị trí chuỗi sau được hiển thị ở dưới cùng của màn hình: @ WebProfiler/Profiler/toolbar_js.html.twig How tôi có thể sửa cái này không? – Tocacar