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

时间:2012-03-29 04:51:57

标签: php jquery yii fancybox

我正在开发YII项目,我想在弹出窗口中使用精美框弹出一个html窗体视图,点击链接。如何做到这一点?我尝试了花哨的盒子扩展,但它没有工作..KIndly重定向我如何实现这个......

2 个答案:

答案 0 :(得分:2)

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

中执行任何操作

答案 1 :(得分:1)

试试这个:

<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));