Hola amigos, les explico mi caso:
Tengo el siguiente controlador:
Código:
/**
* Show profile user
*
* @Route("/community/user/{username}", name="fos_user_community_user")
*/
public function userAction($username)
{
$userManager = $this->get('fos_user.user_manager');
$user = $userManager->findUserByUsername($username);
return $this->render('FOSUserBundle:Community:show.html.twig', array(
'user' => $user
));
}
El cual genera una página que imprime la información del usuario. Además, en esta misma página existe un sidebar que imprime enlaces a 6 usuarios de forma aleatoria llamando a través del método
aleatoryAction(), cómo podéis ver:
Código:
<div class="row">
<div class="col-sm-9">
<!-- User info -->
</div>
<div class="col-sm-3">
<!-- Display aleatory users -->
{{ render(controller('UserBundle:Community:aleatory')) }}
</div>
</div>
El controlador que genera aleatoriamente es:
Código:
/**
* Choose aleatory users
*
* @Route("/community/display-aleatory", name="fos_user_community_aleatory")
*/
public function aleatoryAction()
{
$userManager = $this->get('fos_user.user_manager');
$numberOfUsers = count($userManager->findUsers());
$users = Array();
// randomize all users
$rand = range(1, $numberOfUsers);
shuffle($rand);
for ($i = 1; $i <= $this->container->getParameter('max_users_to_display'); $i++) {
$user = $userManager->findUserBy(array(
'id'=>$rand[$i]
));
array_push($users, $user);
}
return $this->render('FOSUserBundle:Community:displayAleatory.html.twig', array(
'users' => $users,
));
}
Todo lo explicado funciona correctamente. Pero quiero evitar que el usuario introduzca en la barra de dirección
/community/display-aleatory , ya que de este modo generaría ese fragmento de la página, no habiendo estilos, etc.
Podría de alguna manera redirigir estos casos? Y cómo?
Gracias por adelantado