我使用Extension Builder创建了我自己的(Typo3 6.2)扩展来扩展 fe_users 并且一切正常但我希望能够使用 showAction 在用户名上,而不是用户的 uid 。
目标只是能够像这样调用前端的控制器:
my.domain.com/users?tx_crilcq_crilcqmember [用户名] =输入johndoe&安培; tx_crilcq_crilcqmember [动作] =显示
而不是:
my.domain.com/users?tx_crilcq_crilcqmember [构件] = 2及tx_crilcq_crilcqmember [动作] =显示
起初我以为我必须修改扩展存储库(类MemberRepository extends \ TYPO3 \ CMS \ Extbase \ Persistence \ Repository)但似乎它用于返回一个条目数组的请求而不是引用一个实例。不知道我对此是否正确,但我的感觉是我需要修改的东西在其他地方。
有人知道吗?
答案 0 :(得分:3)
Extbase存储库具有魔术方法 findBy [property] , findOneBy [property] 和 countBy [property] ,返回/计算对象由给定的财产。
您可以更改自定义动作,如下所示:
/**
* @param string $username
* @return void
*/
public function showAction($username) {
$user = $this->memberClassRepository->findOneByUsername($username);
$this->view->assign('user', $user);
}