1

メッセージキューにメッセージがあるかどうかを確認するにはどうすればよいですか? たとえば、次のようなことを行うにはどうすればよいですか:

<script type="text/javascript">
    var message='<jdoc:include type="message" />'
        if(message!="")
          {
             alert(message);
          }
</script>

joomla 2.5 を使用しています。ありがとうございました

4

2 に答える 2

6

messageしたがって、問題は実際に変数から HTML を削除する必要があります。注意すべき点がいくつかあります。

  1. ジュムラ!複数のメッセージを返す可能性があります。
  2. アラートはブラウザのブロック イベントです...本当にそうしますか?

JSON最初に、基本的な PHP を使用してメッセージをブロックに配置できます。

<?php
    $jAp = JFactory::getApplication();
    $messagesJSON = json_encode($jAp->getMessageQueue());
?>

その後、テンプレートの後半で、echo最初の試みと同様に、メッセージ JSON 配列を Javascript に入れることができます。

<script type="text/javascript">
    var messageJSON = <?php echo $messagesJSON; ?>
    ... then loop through the JSON block

このようにして、現在のスタイル/オーバーライドの特定のフォーマットではなく、メッセージのテキストとタイプだけが得られます。

于 2012-12-06T04:14:12.097 に答える
2

私はあなたの質問を理解できませんでしたが、このようなメッセージキューを取得できます

$mainframe= JFactory::getApplication();
    $messages = $mainframe->getMessageQueue();
    if (is_array($messages)) {
       echo '<ul id="system-messages">';
       foreach($messages as $msg) {
          echo '<li class="' . $msg['type'] . '">' . $msg['message'] . '</li>';      
       }
       echo '</ul>';
    }
于 2012-12-06T03:58:30.643 に答える