Bạn cần AsseticBundle 2.1.2 hoặc mới hơn. Bên cạnh đó, bạn cần phải làm ba việc:
- Install tay lái biên dịch
- Cấu hình một bộ lọc assetic để biên dịch tay lái mẫu của bạn
- Bao gồm các mẫu trong mẫu cành lá của mình.
Cài đặt trình biên dịch
Thực hiện theo các instructions on the handlebars website. Hoặc, ngắn hơn:
npm install handlebars -g
Cấu hình bộ lọc
Thêm phần này vào tập tin cấu hình của bạn:
assetic:
filters:
handlebars:
apply_to: "\.handlebars$"
này sẽ cho assetic áp dụng bộ lọc tay lái cho tất cả các tệp có đuôi". handlebars ", có hiệu quả biến chúng thành một mẫu handlebars biên dịch. Bạn có thể điều chỉnh cài đặt cho bất kỳ kết thúc nào bạn thích.
Bạn có thể cần phải cho biết rằng trình biên dịch handlebars của bạn nằm ở đâu nếu nó không ở vị trí mặc định (/ usr/bin/handlebars). Sử dụng cài đặt "bin" của bộ lọc tay lái cho điều đó. Ví dụ, nếu bạn đã cài đặt nó trong một thư mục con của dự án của bạn (bằng cách sử dụng NPM mà không có tùy chọn -g), cấu hình của bạn có thể trông như thế này:
assetic:
filters:
handlebars:
apply_to: "\.handlebars$"
bin: node_modules/handlebars/bin/handlebars
tham khảo trong cành mẫu
Thêm tham chiếu mới vào mẫu cành cây của bạn tương tự như cách bạn sẽ bao gồm tệp javascript:
{% javascripts
'@MyBundle/Resources/public/hbs/*.handlebars'
output='assets/my-handlebars-templates.js'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
Sau đó, bạn có thể sử dụng mẫu trong dự án của mình. Chúng được lưu trữ trong Handlebars.templates [templatename] với "template-name" là tên tệp của mẫu của bạn, ngoại trừ ".handlebars".
Hy vọng rằng sẽ giúp ...
Nguồn
2013-04-19 21:46:02
khá tuyệt vời. Cảm ơn! –
Nếu nút của bạn.js thực thi nằm ở một vị trí khác với '/ usr/bin/node' (ví dụ trong'/usr/local/bin/node' nếu bạn đã cài đặt nó trên Mac OS X thông qua trình cài đặt chính thức), bạn cần thêm 'nút :/path/to/node' đến cấu hình bộ lọc hỗ trợ 'handlebars'. – chiborg