1
基本的に、有効なIPv4でない値をユーザーが入力するたびに、フラッシュメッセージをBEに表示します。私はフックでこれをやりたいのですが、フラッシュメッセージのTypo3ドキュメンテーションのコードを使ってもうまくいかない場合は、おそらく私の側で大きな誤解があるようです。フックを使用してバックエンドにフラッシュメッセージを表示しても何とか動作しません
<?php
namespace Cjk\Icingaconfgen\Hook;
class EvalHook {
function processDatamap_postProcessFieldArray($status, $table, $id, &$fieldArray, &$pObj) {
if (!filter_var($fieldArray[IPv4], FILTER_VALIDATE_IP)){
//here i want to put the flash message code
}
}
}
?>
ここドキュメントからのコードを使用して:行を追加して
$message = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Messaging\FlashMessage::class,
'My message text',
'Message Header', // [optional] the header
\TYPO3\CMS\Core\Messaging\FlashMessage::WARNING, // [optional] the severity defaults to \TYPO3\CMS\Core\Messaging\FlashMessage::OK
true // [optional] whether the message should be stored in the session or only in the \TYPO3\CMS\Core\Messaging\FlashMessageQueue object (default is false)
);
:
$message->render();
は動作しません。ここで、これまでに私のコードです。私は何が欠けていますか?
追加情報:私はTYPO3のドキュメンタリーで推奨のように$メッセージを作成し、「$ message->)(レンダリング」var_dumpedとメッセージがvar_dumped状態で見ることができました。だから、基本的には、BEに表示されるフック内からは動作しないようです。少なくともそれは私の理論です。または、私はここで何かを逃しているかもしれない。 – Mondblut