2010-10-21 26 views
8

Tôi vừa mới bắt đầu xem xét Twig và tôi tự hỏi làm thế nào tôi sẽ thực hiện những điều sau đây.Templating with Twig - truy cập vĩnh viễn vào một biến trong tất cả các mẫu của tôi

Tôi có biến $ logged_in mà tôi cần có quyền truy cập vào mọi trang trên trang web của mình, tôi hy vọng rằng thay vì chuyển nó tới trình kết xuất đồ họa mỗi lần trong mảng dữ liệu, sẽ có cách để tôi tuyên bố điều này ở đâu đó và cho mọi mẫu có quyền truy cập vào nó.

Tôi có cần xây dựng tiện ích mở rộng để thực hiện việc này hay thậm chí có thể không? Tôi đã xem qua tất cả các trang của tài liệu nhưng tôi đang gặp rắc rối khi cố gắng để mở rộng cơ sở mẫu như mô tả ở đây ...

Twig Documentation | Recipes | Making the Templates aware of the ContextChết liên kết

Đây có phải là cách tiếp cận đúng không?

Cảm ơn

+1

tôi quản lý để làm việc xung quanh này bằng cách làm cho ứng dụng của tôi thêm dữ liệu vào mảng $ data tự động trước khi chuyển qua twi g. Tôi vẫn sẽ được quan tâm để biết nếu có một cách để cung cấp các biến này để twig nguyên bản mà không cần phải vượt qua chúng – calumbrodie

Trả lời

11

Chỉ cần read về các tính năng mới trong bản phát hành 1.0RC sẽ giúp ích.

Trích từ bài đăng blog:

Globals:

PHP

// a global can be a constant 
$twig->addGlobal('pi', 3.14); 

// or any other valid PHP expression, like an object 
$twig->addGlobal('request', new Request()); 

Template

{{ pi }} 

{{ request.params('name') }} 
+0

sẽ làm cho tôi :-) Cảm ơn cho người đứng đầu lên. – calumbrodie

Các vấn đề liên quan