Php 如何在TYPO3扩展中显示FlashMessage

Php 如何在TYPO3扩展中显示FlashMessage,php,typo3,Php,Typo3,我正在寻找一种在用户添加错误输入时显示FlashMessage的方法。这段代码不起作用。谢谢 $t3type = \TYPO3\CMS\Core\Messaging\FlashMessage::NOTICE; $header = "Notice"; $mes = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Messaging\FlashMessage::class, $messa

我正在寻找一种在用户添加错误输入时显示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);

试试这个TYPO3默认函数

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

希望这对你有用!你好

试试这个TYPO3默认函数

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

希望这对你有用!你好

您可以像下面这样添加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
);

您可以像下面这样添加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
);

在控制器功能中添加此选项

$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文档中找到:
在控制器功能中添加此功能

$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文档中找到:

您在哪里添加此代码?它位于验证api密钥的插件内部的类中。您检查了吗?-好的,谢谢你的链接。这个问题解决了吗?知道您在何处创建flash消息(在控制器中/使用流体)、在CommandController中、在钩子中等可能会有所不同。您在何处添加此代码?这是在验证api键的插件内部的类中。您检查了吗?-好的,谢谢你的链接。这个问题解决了吗?知道在哪里创建flash消息(在控制器中/使用流体)、在CommandController中、钩子等可能会有所不同。