Как я могу получить и отобразить uid пользователя FE через Viewhelper? Нижеследующее работает через контроллер ... но не в Viewhelper. Где разница? Я использую 7.6.11, и в конце я хотел бы иметь uid пользователя FE и его пользовательскую группу, а затем использовать его в html расширения и, в общем, частичном ...TYPO3 - как получить FE UID через Viewhelper
/typo3conf/внутр/удлинители/Классы/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
Привет, Йост ... Я обновил выше. Я использую 7.6.11. Можете ли вы показать образец? Слишком много ? на моей стороне ... –
Вам просто нужен идентификатор пользователя или полный пользовательский объект? ID упрощает работу, поскольку репозиторий не требуется. – Jost