落叶 2011-03-31 12:04:43 4260次浏览 15条回复 0 0 0
<?php $this->widget('UserLogin',array('visible'=>Yii::app()->user->isGuest));?>   

放在main.php中会因为 Yii::app()->user->isGuest而报错,不知道是什么原因

  • 回复于 2011-03-31 12:12 举报

    是在layout/main.php中加的吗?

  • 回复于 2011-03-31 12:14 举报

    我后加的一个主题

  • 回复于 2011-03-31 12:27 举报
    <?php $this->widget('UserLogin'); ?>
    

    不加判断会有错吗?

  • 回复于 2011-03-31 13:43 举报

    没有错 ,不加那个就不会错

  • 回复于 2011-03-31 13:45 举报

    我看一下你的UserLogin.php的代码

  • 回复于 2011-03-31 15:41 举报
    <?php
    Yii::import('zii.widgets.CPortlet');
    class UserLogin extends CWidget
    {
      public $title='会员登录';
      protected function renderContent()
      {
        $form=new User;
        if(isset($_POST['User']))
        {
          $form->attributes=$_POST['User'];
          if($form->validate() && $form->login()){
          $url = $this->controller->createUrl('site/index');
          $this->controller->redirect($url);
        }
      }
      $this->render('userLogin',array('form'=>$form));
    }   
    }
    
  • 回复于 2011-03-31 16:10 举报
    <?php 
    $this->widget('UserLogin',array('visible'=>Yii::app()->user->isGuest));
    ?>
    

    array('visible'=>Yii::app()->user->isGuest) //这里是什么用法,没看明白

  • 回复于 2011-03-31 16:16 举报

    这个是判断用户是否登录,没登录就不显示登录表单

  • 回复于 2011-03-31 16:20 举报

    没见过这样用的啊,怎么能无中生有呢?

  • 回复于 2011-03-31 16:22 举报

    教程
    扩展

    你看右侧都有登录的portlet,你的判断可以在portlet里面判断啊。

    <?php
    Yii::import('zii.widgets.CPortlet');
    class UserLogin extends CWidget
    {
      public $title='会员登录'; 
      protected function renderContent()
      {
        $form=new User;
        if(isset($_POST['User']))
        {
          $form->attributes=$_POST['User'];
          if($form->validate() && $form->login()){
            $url = $this->controller->createUrl('site/index');
            $this->controller->redirect($url);
          }
        }
        if(!Yii::app()->user->isGuest)
          $this->render('userLogin',array('form'=>$form));
      }   
    }
    
  • 回复于 2011-03-31 16:23 举报

    YII 官网上就这样用的啊

  • 回复于 2011-03-31 16:26 举报

    你从哪看的?官网上怎么能无中生有?

  • 回复于 2011-03-31 16:27 举报
    <?php if(!Yii::app()->user->isGuest) $this->widget('UserMenu'); ?>
    

    这是blog程序的使用方法,怎么可能像你那样写?

  • 回复于 2011-03-31 17:46 举报
  • 回复于 2011-03-31 19:29 举报

    你总算是解决了,呵呵!

您需要登录后才可以回复。登录 | 立即注册