感谢你来到这里
我真的很激动
盼望,能有你的支持
捐赠可扫描二维码转账支付
支付宝扫一扫付款
微信扫一扫付款
(微信为保护隐私,不显示你的昵称)
使用hinclude.js-JavaScript库能够异步嵌入控制器。这个嵌入的内容来自其他页面(或者控制器),symfony使用一个标准版本的render函数去配置hinclude标签:
1 2 | {{ render_hinclude(controller('...')) }}
{{ render_hinclude(url('...')) }} |
hinclude.js需要包含在你的网页中才能工作。
当使用一个控制器作为一个URL,你启用symfony的fragments
配置:
1 2 3 4 | # app/config/config.yml
framework:
# ...
fragments: { path: /_fragment } |
1 2 3 4 5 6 7 8 9 10 11 12 13 | <!-- app/config/config.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:framework="http://symfony.com/schema/dic/symfony"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
<!-- ... -->
<framework:config>
<framework:fragments path="/_fragment" />
</framework:config>
</container> |
可以程序配置中设置全局默认内容(正在加载或者禁用javascript):
1 2 3 4 5 | # app/config/config.yml
framework:
# ...
templating:
hinclude_default_template: hinclude.html.twig |
1 2 3 4 5 6 7 8 9 10 11 12 13 | <!-- app/config/config.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:framework="http://symfony.com/schema/dic/symfony"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
<!-- ... -->
<framework:config>
<framework:templating hinclude-default-template="hinclude.html.twig" />
</framework:config>
</container> |
你能够定义每一个默认模板的render
函数(覆盖任何已经定义的全局默认模板):
1 2 3 | {{ render_hinclude(controller('...'), {
'default': 'default/content.html.twig'
}) }} |
1 2 3 4 5 6 7 | <?php echo $view['actions']->render(
new ControllerReference('...'),
array(
'renderer' => 'hinclude',
'default' => 'default/content.html.twig',
)
) ?> |
或者你也可以指定一个字符串,以现实默认内容:
1 | {{ render_hinclude(controller('...'), {'default': 'Loading...'}) }} |
1 2 3 4 5 6 7 | <?php echo $view['actions']->render(
new ControllerReference('...'),
array(
'renderer' => 'hinclude',
'default' => 'Loading...',
)
) ?> |
本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。