ZfcUser和自定义showAction()

时间:2014-05-15 08:24:57

标签: php zend-framework2 zfcuser

我遇到了问题。我在我的项目中使用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来显示此控制器操作。 哪里可以有问题。我想制作简单的用户个人资料页面。

1 个答案:

答案 0 :(得分:3)

问题在于我认为你的路线' Literal'。字面路线不能有参数。

您必须使用Segment

但这不是我认为的唯一问题。 ZfcUser附带包装,个人资料页面已经存在:

看看这个完整的幻灯片:

Zf2 Zfc-User