如何在jquery Fancy Box弹出窗口中使用渲染视图


How to use render a view in jquery Fancy Box Pop up

我正在处理YII项目,我想在点击链接时使用弹出框在弹出窗口中呈现一个html表单视图。如何做到这一点?我试过把盒子加长,但不起作用。。KIndly重定向我如何实现。。。

Yii::app()->getClientScript()->registerCssFile(Yii::app()->theme->baseUrl . '/css/jquery.fancybox-1.3.4.css'); 
Yii::app()->getClientScript()->registerScriptFile(Yii::app()->theme->baseUrl . "/js/jquery.fancybox-1.3.4.pack.js",  CClientScript::POS_HEAD);

包括你想要的操作中的文件和你想要的控制器

我喜欢把代码和css直接放在我的主题文件夹中。

然后,使用$(document).ready(function(){$('.myfancyboxlinks').fancybox();); 构建自己的js

链接应该看起来像<a class="myfancyboxlinks" href="/ajax/fancybox">Open Fancybox!</a>

我还喜欢有一个AjaxController.php,它的方法如下:

public function actionFancybox()
{
    if(Yii::app()->request->isAjaxRequest)
    {
        //do stuff here
        // ............
        $this->layout = '//path/to/fancybox/layout';
        $this->render("myfancyboxview");
    }
}

然后,您可以在/views/ajax/myfancyboxview 中执行任何您想要的操作

试试这个:

放入

<a href="link to your partially rendered page" id="fancybox-trigger">something</a>

在您看来,在需要的地方。

在其他地方(应该是相同的视图):

$config = array( 
    'scrolling' => 'no', 
    'titleShow' => false,
    'overlayColor' => '#000',
    'padding' => '0',
    'showCloseButton' => false,
    'onClosed'=>'',
// change this as you need
);
$this->widget('application.extensions.fancybox.EFancyBox', array('target'=>'#fancybox-trigger', 'config'=>$config));