CommandController에서 TYPO3 \ CMS \ Fluid \ View \ StandaloneView를 사용하여 전자 메일을 fe_user에 보내고 있습니다.CommandController에서 TYPO3 StandaloneView의 언어 설정
템플릿을 구축 메신저는 다음과 같다 부분 : 내가 생각하는 특별한
/* @var \TYPO3\CMS\Fluid\View\StandaloneView $emailView */
$emailView = $this->objectManager->get('TYPO3\\CMS\\Fluid\\View\\StandaloneView');
// pass extension name to standaloneView for translations
$extensionName = $this->request->getControllerExtensionName();
$emailView->getRequest()->setControllerExtensionName($extensionName);
$extensionPath = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('my_extension');
$templatePathAndFilename = $extensionPath . 'Resources/Private/Templates/Email/' . $templateFile . '.html';
$emailView->setLayoutRootPath($extensionPath . 'Resources/Private/Layouts/Email/');
//$emailView->setPartialRootPath($ressourcePath . 'Partials/');
$emailView->setTemplatePathAndFilename($templatePathAndFilename);
return $emailView->render();
아무것도. 내가 유체의 ViewHelper 번역 정상을 사용하고는 HTML - 템플릿에서
:<f:translate key="LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:mail.text" />
이 모두 표준 언어에서 잘 작동하지만, 내가보기/커맨드 컨트롤러를 알 수있는 방법 아무 생각도 없어 어떤 언어를 사용할지 . 나는 이것이 StandaloneView 또는 커맨드 컨트롤러에 문제가있는 경우 아주 확실하지 않다
...
편집 : 게시 된 조각은 커맨드 컨트롤러 (스케줄러)에서 호출
- 그래서이 없음 현재 프론트 엔드 사용자 (우리는 백엔드 환경에있다). 선택한 언어를 저곳에 저장하도록 저장소에서 사용자를 얻습니다. 하지만 StandaloneView의 언어를 설정해야합니다.
CommandController/Scheduler를 사용하므로 _current_ 사용자가 없습니다. TYPO3에는 fe_users 언어가 선택되어 있지 않으므로 직접 저장해야합니다. –
같은 문제가 있습니다. BE로부터 이메일을 보내고 Fluid 사용하기. 일부 FE 레코드 언어를 기반으로 메일을 번역하는 데 어려움이 있습니다. VH를 특정 언어로 강제 변환하는 방법은 훌륭합니다. – fnagel