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. Joomla!可能会返回多条消息。
  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 回答