symfony2和facebox ajax twig内容未显示

时间:2013-05-12 18:39:09

标签: symfony twig facebox

enter link description here

我正在尝试这个:

<a href="remote.html" rel="facebox">text</a>

我的枝条中有这个

            <a href='{{ path('likes_show_names') }}' rel='facebox'>

而不是在控制器中:

        $view= $this->renderView('WallBundle:Statuses:likes_names.html.twig');

    return new Response($view);

没有出现错误网络(chrome)正在显示代码获得200. Facebox打开弹出窗口但是connntent ..缺失......

当我检查response =&gt;预览显示:此请求无法预览

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我把Facebox放在我的web/目录中。文件结构如下所示:

web/facebox
web/js/jquery.js

然后,在路由上,我设置了我的默认值和ajax控制的控制器:

vendor_some_bundle_homepage:
    pattern:  /
    defaults: { _controller: VendorSomeBundle:Default:index }

vendor_some_bundle_test:
    pattern:  /test
    defaults: { _controller: VendorSomeBundle:Default:ajax }

接下来,我为两条路线创建了一个简单的控制器:

<?php

namespace Vendor\SomeBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class DefaultController extends Controller
{

    public function indexAction()
    {
        return $this->render('VendorSomeBundle:Default:indexTest.html.twig');
    }

    public function ajaxAction()
    {
        return $this->render('VendorSomeBundle:Default:ajaxTest.html.twig');
    }

}

然后,我认为最适合您的文件,即打开facebox链接的页面:

<!-- indexTest.html.twig -->
<html>
    <head>
        <link href="{{ asset('facebox/src/facebox.css') }}" media="screen" rel="stylesheet" type="text/css"/>
    </head>
    <body>
        <a href="{{ path('vendor_some_bundle_test') }}"  rel='facebox'>click me</a>
        <script src="{{ asset('js/jquery.js') }}" type="text/javascript"></script>
        <script src="{{ asset('facebox/src/facebox.js') }}" type="text/javascript"></script>
        <script type="text/javascript">

            jQuery(document).ready(function($) {
                $('a[rel*=facebox]').facebox();
            });

        </script>
    </body>
</html>

重要:您应该注意您的资产和路由。如果有错误,应将其写入app/log/dev.log文件,或最后写入您的error.log

最后,创建将包含的视图:

{# ajaxTest.html.twig #}
This is <em>some</em> remote content

这个样本给了我以下结果:

enter image description here

注意:仍有一些资产错误(请参阅图片右侧的关闭按钮),因为我已快速安装了facebox。您的问题的关键是访问远程内容,在这里您可以找到一个示例来查找您的错误。