Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查joomla 2.5的消息队列中是否有消息?_Joomla_Joomla2.5 - Fatal编程技术网

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

如何检查joomla 2.5的消息队列中是否有消息?,joomla,joomla2.5,Joomla,Joomla2.5,如何检查消息队列中是否有消息?例如,我如何做以下事情: <script type="text/javascript"> var message='<jdoc:include type="message" />' if(message!="") { alert(message); } </script> 我使用的是joomla 2.5。 谢谢你我不明白你的问题,但你可以得

如何检查消息队列中是否有消息?例如,我如何做以下事情:

<script type="text/javascript">
    var message='<jdoc:include type="message" />'
        if(message!="")
          {
             alert(message);
          }
</script>
我使用的是joomla 2.5。
谢谢你

我不明白你的问题,但你可以得到这样的消息队列

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

我不明白你的问题,但你可以得到这样的消息队列

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

因此,问题是确实需要从消息变量中剥离HTML。有几点需要注意:

乔姆拉!可能正在返回多条消息。 警报是浏览器的阻止事件。。。你真的想这么做吗? 首先,您可以使用一些基本的PHP将消息放在JSON块中

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

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

因此,问题是确实需要从消息变量中删除HTML。有几点需要注意:

乔姆拉!可能正在返回多条消息。 警报是浏览器的阻止事件。。。你真的想这么做吗? 首先,您可以使用一些基本的PHP将消息放在JSON块中

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

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

您作为示例给出的JS看起来可以在模板中使用,因此,我不清楚您在这里问什么……好的,请帮我提供一些线索。。。PHP错误?Javascript错误?发生了什么事?它正在页面上打印html,我遇到了一个javascript错误我想知道我是否可以从队列中获取这些消息,而不获取导致javascript崩溃的html输出。所以,这些就是您需要在问题中提出的问题。。。这样更多的人可以做出反应。让我想一想。你给出的JS作为一个例子,如果它在一个模板中,它看起来会工作,所以,我不清楚你在这里问什么…好的,帮我一些线索。。。PHP错误?Javascript错误?发生了什么事?它正在页面上打印html,我遇到了一个javascript错误我想知道我是否可以从队列中获取这些消息,而不获取导致javascript崩溃的html输出。所以,这些就是您需要在问题中提出的问题。。。这样更多的人可以做出反应。让我考虑一下。Joomla没有$mainframe!2.5->您需要使用application对象。@cppl-$mainframe无处不在,因为它只是一个用JFactory::getApplication;赋值的变量;。只要在实例化对象时引用$mainframe、$app、$foobar、$helloworld,您就可以使用它。当然,出于代码标准的考虑,对应用程序使用$app之类的东西是有用的,然后:只需使用$app=JFactory::getApplication$app->getMessageQueue@Mario Rakesh的原始答案没有第一行$mainframe=JFactory::getApplication;,在乔姆拉!”s的历史,即在1.6->2.5行之前,$mainframe是一个全局版本请参见此处-$mainframe在Joomla中不可用!2.5->您需要使用application对象。@cppl-$mainframe无处不在,因为它只是一个用JFactory::getApplication;赋值的变量;。只要在实例化对象时引用$mainframe、$app、$foobar、$helloworld,您就可以使用它。当然,出于代码标准的考虑,对应用程序使用$app之类的东西是有用的,然后:只需使用$app=JFactory::getApplication$app->getMessageQueue@Mario Rakesh的原始答案没有第一行$mainframe=JFactory::getApplication;,在乔姆拉!”s的历史,即在1.6->2.5行$mainframe之前,是一个全球性的版本-