evoself 2012-09-03 23:27:41 3558次浏览 20条回复 0 0 0

比如SiteController里我写了一个actionUser方法,我希望能将数据表里的username作为参数传给actionUser,然后可以通过path/to/site/user/username来访问该用户名下的数据,请问如何做呢?

  • 回复于 2012-09-04 08:34 举报

    调用createURL的时候,第一个参数是路由,第二个不就可以设为传入的参数了么?

  • 回复于 2012-09-04 09:15 举报

    光生成url还不够啊,要有具体的function来响应吧,这个怎么写呢

  • 回复于 2012-09-04 11:23 举报

    第一个参数不是路由么?这个路由不就由某个controller的某个action负责处理么?

  • 回复于 2012-09-04 12:20 举报

    我就是说的控制器里action怎么写啊
    另外我还想问问如何将多个控制器的数据post到同一个view里

  • 回复于 2012-09-04 13:11 举报

    通过访问createURL生成的地址,参数直接用$_GET就可以了
    比如说你访问 http://localhost/test/index.php?r=site/index&username=aaa
    生成URL就是 $this->createURL('site/index',array('username'=>'aaa'))
    在site的index方法里边直接用$_GET['username']接收即可

  • 回复于 2012-09-04 13:36 举报

    调用render()时,指向同一个view文件就OK了。

  • 回复于 2012-09-04 15:38 举报

    感谢两位指点,不过我还是有些不明白,比如我创建一个menu如下

    'items'=>array(array('label'=>Yii::app()->user->name,'url'=>array(Yii::app()->homeUrl.'../user/profile','username'=>  Yii::app()->user->name),'visible'=>!Yii::app()->user->isGuest)
    

    当我点击时应该生成url为 localhost/user/profile/username/登录用户名,我想用 localhost/user/登录用户名 这样的url怎么做,怎么设置参数才能在加了用户名后还是和不加一样的正常访问,请详解
    另外,如果我有一个页面需要接受多个控制器动作post的数据,如果只render但是不可能同时执行多个动作,这样怎么post 呢

  • 回复于 2012-09-04 15:49 举报

    urlManager,RTGDM

  • 回复于 2012-09-04 16:04 举报

    这说的也太简单了,让我这也的菜鸟情何以堪

  • 回复于 2012-09-04 16:08 举报

    既然知道是菜鸟,还不读手册
    read the goddamn manual, idiot

  • 回复于 2012-09-04 16:22 举报

    没素质的死远点。。。

  • 回复于 2012-09-04 16:31 举报

    何必这么激动,你google下read the goddamn manual, idiot,你就知道是怎么回事了。

  • 回复于 2012-09-04 19:10 举报

    还是说清楚点吧
    1、想设置一个主页,当用户登录时直接跳转到该页面,该页面需接受多个控制器post过来的数据,以保证页面里的数据是最新的,请教如何设计,是新建一个控制器还是在现有的里面加action,哪个更好管理?
    2、用户访问自己主页的url假设为 user/profile ,希望能转换成 user/当前登录的用户名 这样的格式,应该是用urlManage里的rules,不过我不知道这个正则怎么写啊,自己尝试了一下没用

    希望各位高手不吝赐教,Yii手册里有些看不太懂,所以希望各位能有点耐心,谢谢啊

  • 回复于 2012-09-04 21:02 举报

    看了你上面的问题,还是有点不明白。首先,应该是登录后跳转的页面吧;然后,接受多个控制器post过来的数据,不太明白什么叫多个页面POST过来的数据,可否再说清楚点

  • 回复于 2012-09-04 21:54 举报

    一个控制器对应一个views,也就是调用的是该控制器对应模型的数据,如果我这个页面需要显示多个模型的数据呢,也就是在每个控制器的action里render到同一视图文件并post数据对么,比如actionA是学校数据,actionB是班级数据,actionC是学生数据,我想在同一页面都展示出来肯定要用一个action调用这几个吧,
    但是怎么在一个action里调用所有post过来的数据呢

  • 回复于 2012-09-05 09:08 举报

    控制器中可以调多个模型里的方法,以获取数据,然后再分配给相应的视图即可,不需要调其它的控制器方法。

  • 回复于 2012-09-05 17:14 举报

    [attach]879[/attach][attach]879[/attach] 想要什么数据就传什么数据就是了

  • 回复于 2012-09-05 17:16 举报

    这个名称自己可以随便定义 你想获取什么数据就获取什么数据 在控制器里面的actionIndex 里面传数据就行了呀

  • 回复于 2016-07-12 16:05 举报
  • 回复于 2016-07-12 16:06 举报

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