如何检查joomla 2.5的消息队列中是否有消息?

时间:2012-12-06 01:43:36

标签: joomla joomla2.5

如何检查邮件队列中是否有邮件?例如,我该怎么做:

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

我正在使用joomla 2.5。 谢谢

2 个答案:

答案 0 :(得分:6)

因此,问题实际上是需要从message变量中删除HTML。有几点需要注意:

  1. 的Joomla!可能会返回多条消息。
  2. 警报是浏览器的阻止事件......你真的想这样做吗?
  3. 首先,您可以使用一些基本的PHP将消息放在JSON块中。

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

    然后在您的模板中,您可以将JSON数组中的消息echo添加到您的Javascript中,类似于您原来的尝试。

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

    这样您最终只得到消息的文本和类型,而不是当前样式/覆盖的特定格式。

答案 1 :(得分:2)

我无法理解你的问题,但你可以像这样获得msg队列

$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>';
    }