showAction:通过用户名而不是 uid 查找 fe_user 条目
showAction : finding fe_user entry by username instead of uid
我使用扩展构建器创建了自己的(Typo3 6.2)扩展来扩展 fe_users,一切正常,但我希望能够使用showAction 基于 username 而不是用户的 uid。
目标只是能够像这样在前端调用控制器:
my.domain.com/users?tx_crilcq_crilcqmember[用户名]=johndoe&tx_crilcq_crilcqmember[动作]=显示
而不是这个:
my.domain.com/users?tx_crilcq_crilcqmember[member]=2&tx_crilcq_crilcqmember[action]=show
起初我以为我必须修改扩展存储库(class MemberRepository extends \TYPO3\CMS\Extbase\Persistence\Repository)但它似乎用于请求返回一个条目数组而不是引用一个单个实例。不知道我的看法是否正确,但我的感觉是我需要修改的东西在其他地方。
有线索吗?
Extbase 存储库有魔术方法 findBy[属性]、findOneBy[属性] 和 countBy[属性],即 returns/counts 个对象由给定的 属性。
您可以更改您的表演动作,如下所示:
/**
* @param string $username
* @return void
*/
public function showAction($username) {
$user = $this->memberClassRepository->findOneByUsername($username);
$this->view->assign('user', $user);
}
我使用扩展构建器创建了自己的(Typo3 6.2)扩展来扩展 fe_users,一切正常,但我希望能够使用showAction 基于 username 而不是用户的 uid。
目标只是能够像这样在前端调用控制器:
my.domain.com/users?tx_crilcq_crilcqmember[用户名]=johndoe&tx_crilcq_crilcqmember[动作]=显示
而不是这个:
my.domain.com/users?tx_crilcq_crilcqmember[member]=2&tx_crilcq_crilcqmember[action]=show
起初我以为我必须修改扩展存储库(class MemberRepository extends \TYPO3\CMS\Extbase\Persistence\Repository)但它似乎用于请求返回一个条目数组而不是引用一个单个实例。不知道我的看法是否正确,但我的感觉是我需要修改的东西在其他地方。
有线索吗?
Extbase 存储库有魔术方法 findBy[属性]、findOneBy[属性] 和 countBy[属性],即 returns/counts 个对象由给定的 属性。
您可以更改您的表演动作,如下所示:
/**
* @param string $username
* @return void
*/
public function showAction($username) {
$user = $this->memberClassRepository->findOneByUsername($username);
$this->view->assign('user', $user);
}