我遇到了问题。我在我的项目中使用zfcuser,现在我想创建个人资料页面。我已经在UserController中创建了showAction(),但是当我把url放到webbrowser上时,我会得到404.
public function showAction()
{
$id = (int) $this->params()->fromRoute('id', 0);
if (!$id) {
return $this->redirect()->toRoute('zfcuser', array(
'action' => 'register'
));
}
try {
$user = $this->zfcUserAuthentication()->getIdentity()->getUser($id);
}
catch (\Exception $ex) {
return $this->redirect()->toRoute('zfcuser', array(
'action' => 'register'
));
}
return new ViewModel(array(
'user' => $user));
}
我还创建了自定义函数以将用户信息全部放在一行中。 它看起来像这样:
public function getUser($id){
$rowset = $this->tableGateway->select(array('user_id' => $id));
$row = $rowset->current();
return $row;
}
它位于Entity / User.php
中这是zfc UserController.php
中的showAction()我认为它的错误是module.config,但它无论如何都没有用。我将module.config更改为:
'show' => array(
'type' => 'Literal',
'options' => array(
'route' => '/show[/][:id]',
'defaults' => array(
'controller' => 'zfcuser',
'action' => 'show',
),
),
),
我的问题是,我甚至无法使用url来显示此控制器操作。 哪里可以有问题。我想制作简单的用户个人资料页面。
答案 0 :(得分:3)
问题在于我认为你的路线' Literal'。字面路线不能有参数。
您必须使用Segment
但这不是我认为的唯一问题。 ZfcUser附带包装,个人资料页面已经存在:
看看这个完整的幻灯片: