Feature #71247
closedAdd (Flash)Message after extension update with inline html
0%
Description
I have written my own slot for the extension manager after installation of an extension like this:
ext_localconf.php
/** @var \TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher */ $signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class); $signalSlotDispatcher->connect( 'TYPO3\CMS\Extensionmanager\Utility\InstallUtility', 'afterExtensionInstall', 'Vendor\Website\Utility\InstallUtility', 'addFlashMessageAfterExtensionInstall' );
ext:website/Classes/Utility/InstallUtility.php
<?php namespace Vendor\Website\Utility; use TYPO3\CMS\Core\Messaging\AbstractMessage; use TYPO3\CMS\Core\Messaging\FlashMessage; use TYPO3\CMS\Core\Messaging\FlashMessageService; use TYPO3\CMS\Core\SingletonInterface; use TYPO3\CMS\Core\Utility\GeneralUtility; /** * Extension Manager Install Utility */ class InstallUtility implements SingletonInterface { /** * @var FlashMessageService */ protected $flashMessageService; /** * @param FlashMessageService $flashMessageService */ public function injectFlashMessageService(FlashMessageService $flashMessageService) { $this->flashMessageService = $flashMessageService; } /** * @param $extensionKey * @throws \TYPO3\CMS\Core\Exception */ public function addFlashMessageAfterExtensionInstall($extensionKey) { $flashMessageQueue = $this->flashMessageService->getMessageQueueByIdentifier('extbase.flashmessages.tx_extensionmanager_tools_extensionmanagerextensionmanager'); $messageBody = 'extension installed: '.$extensionKey; /* @var FlashMessage $flashMessage */ $flashMessage = GeneralUtility::makeInstance( FlashMessage::class, $messageBody, '', AbstractMessage::OK, TRUE ); $flashMessageQueue->enqueue($flashMessage); } }
I would love to add some HTML in the $messageBody but that gets htmlspechialchared.
Inspired by sgalinski's TypoScript Plugin for PhpStorm it would like so show an message like this:
Thank you for using xxx plugin from xxx You are using version 1.x now. You can get the latest information about this release on our website(link). If you think you found a bug, please report it in our issue tracker(link). Also don't hesitate to inform us about new feature wishes(link).
I would like to add a screenshot from phpstorm but I can't. Once the message is hidden, you cannot show it anymore even with down- and upgrade.
Possible solution
Fetch information from TER (sponsor links, documentation link, issue tracker) or make it possible to set it in an extension somehow maybe in ext_emconf.php
Files
Updated by Mathias Schreiber about 9 years ago
- Status changed from New to Needs Feedback
- Assignee set to Mathias Schreiber
We denied markup in FlashMessages on purpose.
The reasoning is that a flashmesage can also be shown from a context different from a webbrowser (think CLI for example).
Thus, markup in a flashmessage must not be used.
Updated by Benni Mack about 9 years ago
- Status changed from Needs Feedback to Rejected
- Assignee deleted (
Mathias Schreiber)
Agreed. If necessary, should be implemented manually with a separate hook in the output, and not via flash messages.
Updated by Simon Schaufelberger about 9 years ago
Should I create a new ticket for the hook/signal/... to be implemented?
Updated by Simon Schaufelberger almost 9 years ago
- File typoscript plugin.png typoscript plugin.png added