2014-05-15 1 views
0

문제가 있습니다. 내 프로젝트에서 zfcuser를 사용하고 있는데 이제 프로필 페이지를 만들고 싶습니다. I'have는 UserController에 showAction()를 만들어,하지만 난 웹 브라우저에 URL을 넣을 때, 나는 하나의 행에있는 모든 사용자의 정보를 얻을 수Zfc 사용자 및 사용자 정의 showAction()

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)); 
} 

I도 만들어 사용자 정의 기능 (404)을 가지고 있습니다. 은 다음과 같습니다

public function getUser($id){ 
    $rowset = $this->tableGateway->select(array('user_id' => $id)); 
    $row = $rowset->current(); 
    return $row; 
} 

그리고 법인/User.php에

내가 그 잘못 module.config 생각 UserController.php

이것은 ZFC 내 showAction()이지만, 어쨌든 작동하지 않습니다. 내 module.config를 다음으로 변경했습니다.

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

내 문제는이 컨트롤러 동작을 표시하는 URL에 도달 할 수 없다는 것입니다. 문제가 될 수 있습니다. 간단한 사용자 프로필 페이지를 만들고 싶습니다.

+1

가 ZFC 사용자의 childroute을 보여입니다 :

이 완료 slideshare에 봐? – cptnk

답변

3

문제는 내 생각에 당신의 경로 '문자 그대로'입니다. 문자 그대로의 경로는 매개 변수를 가질 수 없습니다.

는 대신

Segment을 사용해야하지만 내가 생각하는 유일한 문제는 아니다. ZfcUser가 포장되어, 프로필 페이지는 이미 존재 :

Zf2 Zfc-User

+0

+1 리터럴 경로는 정확히 리터럴 *입니다! 따라서 OP의 경로는 www.foo.com/show [:] [: id] – AlexP

+0

+1 프리젠 테이션에 대한 감사합니다. – Franky238

+0

환영합니다 :) – Hooli