ZfcUser и пользовательское showAction()

У меня проблема. Я использую zfcuser в своем проекте, и теперь я хочу создать страницы профиля. Я создал showAction() в UserController, но когда я помещаю URL-адрес в веб-браузер, я получаю 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

Это мой showAction() в zfc UserController.php

Я думал, что это неправильный module.config, но он все равно не работает. Я изменил свой module.config на это:

'show' => array(
                        'type' => 'Literal',
                        'options' => array(
                            'route' => '/show[/][:id]',
                            'defaults' => array(
                                'controller' => 'zfcuser',
                                'action'     => 'show',
                            ),
                        ),
                    ),

Моя проблема в том, что я даже не могу получить URL-адрес, чтобы показать это действие контроллера. Где может быть проблема. Я хочу сделать простую страницу профиля пользователя.


person Franky238    schedule 15.05.2014    source источник
comment
показать дочерний маршрут пользователя zfc?   -  person cptnk    schedule 15.05.2014


Ответы (1)


Проблема, на мой взгляд, в том, что ваш маршрут «Буквальный». Буквальный маршрут не может иметь параметров.

Вместо этого вы должны использовать Segment

Но это не единственная проблема, я думаю. ZfcUser поставляется с упаковкой, страница профиля уже существует:

Взгляните на этот полный слайд-шоу:

Пользователь Zfc Zf2

person Greco Jonathan    schedule 15.05.2014
comment
+1 Буквальные маршруты именно такие, буквальные! Таким образом, маршрут OP будет соответствовать www.foo.com/show[/][:id] - person AlexP; 15.05.2014