如何在TYPO3扩展中显示FlashMessage

问题描述 投票:0回答:3

当用户添加错误输入时,我正在搜索显示FlashMessage的方法。这段代码不起作用。谢谢。

$t3type = \TYPO3\CMS\Core\Messaging\FlashMessage::NOTICE;
$header = "Notice";
$mes = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Messaging\FlashMessage::class,
            $message,
            $header, 
            $t3type, 
            true);
php typo3
3个回答
1
投票

试试这个TYPO3默认功能,

$this->addFlashMessage(
    'Your message!',
    'Description or something else..',
    \TYPO3\CMS\Core\Messaging\AbstractMessage::WARNING
);

希望这对你有用!问候!


1
投票

在控制器功能中添加它

$this->addFlashMessage(
    $messageBody = \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('LLL:EXT:yourextkey/Resources/Private/Language/locallang.xlf:error_body', 'yourextkey'),
    $messageTitle = \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('LLL:EXT: yourextkey/Resources/Private/Language/locallang.xlf:error_title', 'yourextkey'),
    $severity = \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR,
    $storeInSession = TRUE
);

并在流体模板中添加

<f:flashMessages />

更多信息可以在TYPO3核心API文档中找到:https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/FlashMessages/Index.html


0
投票

您可以像下面一样添加flashMessage。

$flashMessageTitle = \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate(
    'flashmessage_title_done',
    $this->extensionName
);
$flashMessageBody = \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate(
    'flashmessage_description',
    $this->extensionName
);
$this->addFlashMessage(
    $flashMessageBody,
    $flashMessageTitle,
    \TYPO3\CMS\Core\Messaging\AbstractMessage::NOTICE,
    true
);
© www.soinside.com 2019 - 2024. All rights reserved.