Как использовать рендеринг вида в jquery Fancy Box Pop up - PullRequest
1 голос
/ 29 марта 2012

Я работаю над проектом YII, я хочу визуализировать представление html-формы во всплывающем окне, используя всплывающее окно при нажатии на ссылку. Как это можно сделать?Я пробовал модное расширение коробки, но оно не работает .. Пожалуйста, перенаправьте меня, как я могу реализовать это ...

Ответы [ 2 ]

2 голосов
/ 17 июля 2012
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 прямо в папку моей темы.

Затем вы создаете свойсобственные js с $(document).ready(function(){$('.myfancyboxlinks').fancybox(););

ссылка должна выглядеть так: <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 голос
/ 30 марта 2012

попробуйте это:

поместить

<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));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...