我正在CakePHP中构建一个web应用程序,其中一旦用户已注册,他们将拥有自己的配置文件页面,可以被其他成员看到。理想情况下,我想要一个不错的网址www.website.com/davejones,但我可以解决类似www.website.com/uid=235325的问题。CakePHP中的单个配置文件/用户页面
要做这件事的最好方法是什么?
我正在CakePHP中构建一个web应用程序,其中一旦用户已注册,他们将拥有自己的配置文件页面,可以被其他成员看到。理想情况下,我想要一个不错的网址www.website.com/davejones,但我可以解决类似www.website.com/uid=235325的问题。CakePHP中的单个配置文件/用户页面
要做这件事的最好方法是什么?
基本上,您只需将profile
方法添加到您的UsersController
,该方法将用户标识/用户名作为参数,然后只提供该页面。
class UsersController extends AppController {
public function profile($uid) {
$data = $this->User->findById($uid);
$this->set(compact('data'));
}
}
是否会让该用户的所有数据(包括相关的数据,如果您的模型正确安装)进入$数据变量,您可以从您的视图调用。用它做什么,你想在那里。
我尝试了您的建议,并且收到错误消息:警告(512):DbAcl :: check() - 在权限检查中失败的ARO/ACO节点查找。节点参考: Aro:Array。我已经按照蛋糕网站的ACL教程进入了这个阶段。 – 2012-04-22 22:11:47
该消息只是告诉你,你正在尝试访问尚未存在于你的数据库中的ACO(或者你的ARO没有链接到它)。对于上面的例子,你可能还没有添加Users/Profile ACO。 – Oldskool 2012-04-23 07:13:59
类似于这个问题:http://stackoverflow.com/questions/8753671/cakephp-routes-and-general-routing – Dave 2012-04-21 22:13:38
谢谢。这回答了重命名的url部分。我一直在为你如何为每个用户创建一个单独的页面。 – 2012-04-21 22:15:30