日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁編程開發(fā)其它知識 → 從yii權(quán)威指南中學到的

      從yii權(quán)威指南中學到的

      相關(guān)軟件相關(guān)文章發(fā)表評論 來源:本站整理時間:2010/8/9 0:13:14字體大。A-A+

      作者:佚名點擊:5645次評論:0次標簽: 權(quán)威

      • 類型:電子資料大小:171KB語言:中文 評分:10.0
      • 標簽:
      立即下載
      8 頁 如何用gridview生成一個代搜索的管理列表

      1、在Model的rules 設(shè)定可以搜索的屬性
      array('title, status, create_time', 'safe', 'on'=>'search'),
      2、在Model中,添加搜索時的方法
      public function search()
      {
      $criteria=new CDbCriteria;

      $criteria->compare('title',$this->title,true);

      $criteria->compare('status',$this->status);

      $criteria->compare('create_time',$this->create_time);

      return new CActiveDataProvider('Post', array(
      'criteria'=>$criteria,
      'sort'=>array(
      'defaultOrder'=>'status, update_time DESC',
      ),
      ));
      }
      3、 在Controler中,寫接受搜索用到的表單的值的方法
      public function actionAdmin()
      {
      $model=new Post('search');

      if(isset($_GET['Post']))
      $model->attributes=$_GET['Post'];
      $this->render('admin',array(
      'model'=>$model,
      ));
      }
      4、在view中用CGridView顯示
      設(shè)置好
      <?php $this->widget('zii.widgets.grid.CGridView', array(
      'dataProvider'=>$model->search(),
      'filter'=>$model,
      'columns'=>array(

      ),
      )); ?>

      以上代碼大部分是yii自動生成的,只要做少量修改即可
      有時候會出現(xiàn),搜索后頁面為空的清況,原因可能是
      layout/main.php中
      echo $content外層無div,就是說main.php中必須有一個div包含$content

      //CListView詳解
      其用列表的形式顯示數(shù)據(jù),不象CGridView一樣,用表格顯示數(shù)據(jù),CListView用一個 view模板來顯示每一條數(shù)據(jù)
      其支持排序與分頁

      常用的代碼如下
      <?php
      $dataProvider = new CActiveDataProvider('Post',array(
      'pagination'=>array(
      'pageSize'=>2
      ),
      ));
      $this->widget('zii.widgets.CListView',array(
      'dataProvider'=>$dataProvider,
      'itemView'=>'_view',
      'template'=>' {summary} {items} {pager}{sorter}',
      'sortableAttributes'=>array(
      'title',
      'create_time'=>'Post Time',
      ),

      ));

      //CActiveForm詳解

      快速生成表單,支持ajax驗證,對于比較復雜的驗下最好是自己生成表單,寫驗證方法
      常用代碼,在Controller中

      public function actionForm()
      {
      $post = new Post();
      if(isset($_POST['ajax']) && $_POST['ajax']==='post'){
      echo CActiveForm::validate($post);
      Yii::app()->end();
      }

      if(isset($_POST['Post'])){
      $post->attributes = $_POST['Post'];
      if($post->save()){
      echo '存成功了';
      }
      }
      $this->render('form',array('post'=>$post));
      }
      在view中

      <?php
      $form = $this->beginWidget('CActiveForm',array(
      'id'=>'post',//這里與Controller中的ajax對應(yīng)
      'enableAjaxValidation'=>true,

      ));
      ?>
      <?php echo CHtml::errorSummary($post); ?>
      <?php echo $form->labelEx($post,'title');?>
      <?php echo $form->textField($post,'title')?>
      <?php echo $form->error($post,'title'); ?> error一定要寫上,要不不會觸發(fā)ajax驗證

      <?php echo $form->labelEx($post,'content');?>
      <?php echo $form->textField($post,'content')?>

      <?php echo CHtml::submitButton($post->isNewRecord ? 'Create' : 'Save'); ?>
      <?php $this->endWidget(); ?>


      //CBreadcrumbs常用代碼
      <?php $this->widget('zii.widgets.CBreadcrumbs', array(
      'links'=>$this->breadcrumbs,
      'homeLink'=>'<span><a href="http://abc.com">shouye</a></span>',
      'separator'=>'>>>'
      )); ?>
      其中breadcrumbs中Controller中的一個屬性,如果要出現(xiàn)導航,就要在view中給此屬性附值
      生成的html如下
      <div class="breadcrumbs">
      <span><a href="http://abc.com">shouye</a>
      </span>&gt;&gt;&gt;<span>Managde Posts</span>&gt;&gt;&gt;
      <span>b</span>&gt;&gt;&gt;<span>c</span></div>
      所以如果網(wǎng)站用到導航的時候,美工最好把導航代碼定義如上

      //CDetailView 用在僅僅是為了查看數(shù)據(jù)時,還是比較有用的


      如何在提交后顯示一段提示
      在控制器中
      if(isset($_POST['name'])){
      Yii::app()->user->setFlash('success','you are success');
      $this->refresh();
      }
      在view中
      if (Yii::app()->user->hasFlash('success')){
      echo 're is'.Yii::app()->user->getFlash('success');
      }else{
      echo 'no';
      }

      如何得到當前域名:
      app()->request->hostInfo


      activeDropDownList,給出提示,并有值
      array('empty'=>array(0=>'選擇分組')


      <input type="submit" class="btn" value="提交" />

      驗證碼如何生成及驗證:
      Controller中
      public function actions()
      {
      return array(
      'captcha'=>array(
      'class'=>'CCaptchaAction',
      'backColor'=>0xFFFFFF,
      'maxLength'=>4,
      'minLength'=>4,
      ),
      );
      }
      View中
      <?php echo CHtml::activeTextField($user, 'verifyCode');?>
      <?php $this->widget('CCaptcha',array(
      'captchaAction' => '/site/captcha',
      'showRefreshButton' => false,
      'clickableImage' => true,
      'imageOptions' => array('align'=>'top', 'title'=>'重新獲取'),
      ));?>
      Model中
      array('verifyCode', 'captcha', 'captchaAction'=>'site/captcha', 'message' => '輸入的驗證碼不正確'),


      set_time_limit(0);//禁止角本超時


      如何想把手工的東西記錄的數(shù)據(jù)庫
      main.php中配置log

      array(
      'class'=>'CDbLogRoute',
      'levels'=>'info',
      'logTableName'=>'Log',
      'connectionID'=>'db',
      ),
      應(yīng)用時
      Yii::log('信息','info');

        相關(guān)評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)