Php 如何以编程方式关闭bs模式?

Php 如何以编程方式关闭bs模式?,php,jquery,bootstrap-modal,opencart-3,Php,Jquery,Bootstrap Modal,Opencart 3,我正在定制OpenCart 3。 通过单击首页页脚中的按钮,将打开一个模式面板,其中包括一个iframe,如下所示: <footer> <div class="container"> <div class="content"> <i class="fa fa-plus-circle" aria-hidden="true" data-toggle="modal" data-target="#myModal"&

我正在定制OpenCart 3。
通过单击首页页脚中的按钮,将打开一个模式面板,其中包括一个
iframe
,如下所示:

<footer>
    <div class="container">
        <div class="content">
            <i class="fa fa-plus-circle" aria-hidden="true" data-toggle="modal" data-target="#myModal"></i>
            <div class="modal fade bd-example-modal-lg" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
                <div class="modal-dialog" role="document">
                    <div class="modal-content">
                        <div class="modal-body">
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><i class="fa fa-times-circle" aria-hidden="true"></i></button>
                            <iframe width="100%" height="{{ img_h }}" src="{{ addnewpro }}"></iframe>
                        </div>
                    </div>
                </div>
            </div>      
        </div>
我在页脚的php页面中检查了会话:

$this->session->data['newprosaved'] = 'saved';
if (isset($this->session->data['newprosaved'])) {
     $data['saved'] = $this->session->data['newprosaved'];
     unset($this->session->data['newprosaved']);
}
然后尝试在footer.twig中访问它:

<script type="text/javascript"><!--
$(document).ready(function() { 
    if ('{{ saved }}'  == 'saved' && $('#myModal').hasClass('in')) {
        $('#myModal').modal('hide');

        $('#myModal').remove();
    }
});
</script>

不幸的是,答案很简单,虽然它浪费了我几个小时的时间

保存项目后,我创建了一个会话:

$this->session->data['newprosaved'] = 'saved';
然后在php页面加载时(在iframe内)将其撤销:

我向iframe添加了一个javascript代码:

if (isset($this->session->data['newprosaved'])) {
    $data['newprosaved'] = $this->session->data['newprosaved'];
    unset($this->session->data['newprosaved']);
}
if ('{{ newprosaved }}' == 'saved') {
    window.parent.closeModal();
}
然后javascript关闭模式函数到父页面:

window.closeModal = function(){
        $('#myModal').modal('hide');
};

您的模式没有任何保存按钮,保存按钮在哪里?@madalinivascu:save在php页面中完成删除注释标记
您确定没有仅在iframe中设置“save”吗?这意味着外部的一切(你的网页实际上)都没有意识到这一点。这是一种HTML安全性,您可能无法绕过它。然而,JavaScript允许您进行通信,但是您必须非常小心。也许在您的操作完成后,您可以从iframe内部向网页发送类似“完成”的信号。您的wabpage将侦听该信号并删除iframe@JoshuaKisubi例如我做了,但没有变化。