无法使用 cBox 弹出窗口在 joomla 中获取 JFactory::getApplication

Unable to get JFactory::getApplication in joomla using cBox popup

我正在为 joomla 网站开发弹出组件, 弹出窗口效果很好,在我的弹出窗口中,我从用户那里得到 phone 号码,我需要将该 phone 号码存储到 joomla 数据库,但我无法调用 JFactory::getDBo(),当我调用了这些方法,弹出窗口不起作用,我遇到了麻烦,任何帮助将不胜感激..提前谢谢...

site/default.php

 <script>
  function openColorBox() {
    $.colorbox({
      innerWidth:500, 
      innerHeight:300, 
      iframe:true,
      href: "subscribe.php",
      overlayClose:true,
      onLoad: function() {
        $('#cboxClose').remove();
      }
    });
  }
  setTimeout(openColorBox, 1000);
</script>

site/subscribe.php

 <body class="oneColFixCtr">
<div id="container">

  <form name="Mail_list" action="#" method="post">

    <p>
      <label for="phone">Your Mobile Number </label>
      <input type="tel" name="phone" id="phone" size="10"  pattern="\d{10}" required />
      <input type="hidden" name="date1" id="date1" value="<?php echo date('d.m.y'); ?>" />
    </p>
    <input type="submit" name="submit" value="Enter">
  </form> 
</div>

您提交的表单没有在任何地方发布数据。您的 action="#" 将永远不允许提交表单。如果您需要将其提交回 subscribe.php,请将您的操作设置为 PHP_SELF,然后检查处理您的表单的 subscribe.php。

更好的方法是将弹出内容隐藏在 div 中,然后打开 div 而不是使用 iframe。使用 subscribe.php 作为将用户数据保存到数据库的逻辑。使用 ajax 提交表单也不错。