2012-03-29 14 views
1

YIIプロジェクトで作業中です。リンクをクリックするとファンシーボックスポップアップを使用してポップアップでHTMLフォームビューをレンダリングします。これはどのように行うことができますか?必要な場合jqueryでビューをレンダリングする方法ファンシーボックスポップアップ

は、あなたのビューで

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

を置く:私は

答えて

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。

次に、あなたがリンクは、私もこのような方法でAjaxController.phpを持つよう<a class="myfancyboxlinks" href="/ajax/fancybox">Open Fancybox!</a>

のようになります$(document).ready(function(){$('.myfancyboxlinks').fancybox(););

を使用して独自のJSを構築:次に

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

、/view/ajax/myfancyboxview

1

はこれを試して...ファンシーボックスの拡張機能を試してみましたが、そのworking..KIndlyどのように私はこれを実装することができ、私をリダイレクトしていません。いくつかの他の場所(同じビューでなければなりません)で

$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)); 
+0

これはyiiのファンシーボックス拡張子をダウンロードするときに行う正しい方法です(yそれを使用するには保護/拡張機能に追加する必要があります)。これは、私がyiiのやり方を学び、活用しようとしている中で、やってしまったのです。 –

関連する問題