2013-10-25 54 views
0

我有這個小工具:如何運行警予窗口小部件時按鈕點擊

<?php 

    class Search extends CWidget 
    { 
     public $dataProvider = null; 
     public function init() 
     { 
      $criteria = new CDbCriteria(); 

       if (isset($_GET['file'])) { 
        $criteria->compare('fileName', $_GET['file'], true, 'OR'); 
        $criteria->compare('tags', $_GET['file'], true, 'OR'); 
       } 

       $this->dataProvider = new CActiveDataProvider("Files", array(
        'criteria' => $criteria, 
        //'countCriteria' => $criteria, 
        'pagination'=>array(
         // results per page 
         'pageSize'=>1, 
        ), 
       )); 
     } 

     public function run(){ 
     $this->render('site/result', array(
        'dataProvider' => $this->dataProvider, 
        'pages' => $this->dataProvider->pagination, 
       )); 
     } 
    } 
    ?> 

我怎樣才能運行此插件的搜索按鈕被點擊時,才以及如何查看其結果在位於視圖reuslt在文件夾網站

回答

2

也許我誤解了你,但我認爲你對widget有點困惑。避免作出
冗長的答覆,我提出以下

enter image description here

問題1的模型:點擊搜索按鈕,只有當我怎樣才能運行這個小工具?

的想法是,你把Widget內容隱入格,然後添加一個jQuery腳本來顯示它的搜索按鈕被點擊

<div id='search-result' style="display:none"><?php $this->widget(...) ?></div> 
<script> 
$('#search-button-id').click({ 
// do something 
$('#search-result').show(); 
})</script> 

問題2:如何查看其導致位於文件夾網站的視圖reuslt?

Imao,我建議你不要這樣做。該小部件是獨立的部分,您可以將它用於許多特定目的,因此只需將一個簡單的視圖放置在自己的渲染部件中,而不是嘗試在部件的範圍之外渲染視圖。它應該看起來像下面那樣

/your-app/protected/extensions/widgets/search/Search.php 
/your-app/protected/extensions/widgets/search/views/result.php // view for rendering 
+0

好的圖:) – 2013-10-25 05:59:12

相關問題