如何通過Viewhelper獲取並呈現FE用戶的uid?下面是通過控制器工作...但不是在Viewhelper中。區別在哪裏?我使用的是7.6.11,最後我想有FE用戶的用戶名和他的用戶組用戶名,並將其用於擴展名的html和一般的偏分數中。TYPO3 - 如何通過Viewhelper獲取FE UID
/typo3conf/EXT /擴展/類別/ ViewHelpers/UserViewHelper.php
<?php
namespace Vendor\Extension\ViewHelpers;
class UserViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper {
/**
* User Repository
*
* @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
* @inject
*/
protected $userRepository;
/**
* @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserGroupRepository
* @inject
*/
protected $frontendUserGroupRepository;
public function render() {
$userIDTest = $this->userRepository->findByUid($GLOBALS['TSFE']->fe_user->user['uid']);
$this->view->assign('userIDTest', $userIDTest);
}
}
List.html
<f:layout name="Default" />
<f:section name="main">
{userIDTest.uid}
</f:section>
如所建議的通過迪米特里我取代
$this->view->assign('userIDTest', $userIDTest);
與
return $userIDTest;
而在List.html我有這樣的:
{namespace custom=Vendor\Extension\ViewHelpers}
<f:layout name="Default" />
<f:section name="main">
<f:alias map="{user: '{custom:user()}'}">
{user.uid} {user.username}
</f:alias>
</f:section>
...並清除所有緩存(FE/BE /安裝)和刪除typo3temp ......現在它的工作後, !
哪個TYPO3版本?在7.x及更高版本中,ViewHelpers被編譯,導致「render」方法只被調用一次(用於編譯)。之後,只調用「renderStatic」(一種靜態方法)。您可以覆蓋每次都會調用的「renderStatic」。當然,這個版本庫不會那麼容易獲得。 – Jost
您好Jost ...我更新上面。我使用7.6.11。你能展示一個樣本嗎?有太多?在我身邊... –
你只需要用戶標識或完整的用戶對象? ID使得它更容易,因爲不需要存儲庫。 – Jost