fousky / jsblock
在模板末尾收集并渲染javascript。
4.3.0
2020-01-21 19:51 UTC
Requires
- php: >=7.2
- twig/twig: ^2.12|^3.0
README
Symfony JSBlockBundle 允许您在所有 TWIG模板(例如表单) 中收集javascript,并在布局末尾(或您希望它们出现的地方)进行渲染。
1. 使用composer安装
composer require fousky/jsblock
2. 在Kernel中注册bundle
public function registerBundles() { $bundles = array( new Fousky\JSBlockBundle\FouskyJSBlockBundle(), // ... your custom bundles ); // ... your custom dev bundles return $bundles; }
3. 在主模板中渲染收集的javascript
我假设您有主模板 layout.html.twig
,因此请在 </body>
标签之前添加 {% jsblock 'render' %}
。
当然,您可以将此标签放置在您想要渲染收集的javascript的任何位置。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>my page</title> </head> <body> <!-- APPLICATION LOGIC --> <!-- render collected javascripts --> {% jsblock 'render' %} </body> </html>
4. 在任何地方收集javascript
现在您可以在任何您想要的地方收集javascript。您必须通过标签 {% jsblock 'start' %}
开始收集,并通过标签 {% jsblock 'stop' %}
结束。
<!-- CUSTOM LOGIC --> <!-- need some javascript? Start rendering --> {% jsblock 'start' %} <script> $(document).ready(function() { console.log('Hello from collected JSBlockBundle!'); }); </script> {% jsblock 'stop' %} <!-- and close collecting -->