Magento 2 的 Punchout Iframe 问题

问题描述 投票:0回答:3

我正在尝试将打孔系统与 Magento 2 集成。

出于安全原因,Magento 不允许打开 iframe。我已在 env.php 文件中添加了 'x-frame-options' => '*' 选项,但仍然不允许打开 Iframe。

另外,我更改了以下文件,但没有得到确切的结果。

供应商\magento ramework\App\Response\HeaderProvider\XFrameOptions.php

我从打孔中得到以下回复。之后我得到一个空白屏幕。

在打孔响应中,x-frame-options 显示两次。

您能否指导一下在 Iframe 中打开网站需要哪些设置?

提前致谢

magento2
3个回答
1
投票

我找到了解决方案:

1 - 从 env.php 中删除 x-frame-options

2 - 覆盖 \Magento\Framework\App\Response\HeaderProvider\XFrameOptions.php 文件(不要忘记 di.xml )并注释 __construct 的内容

class XFrameOptions extends \Magento\Framework\App\Response\HeaderProvider\XFrameOptions
{
    /** Deployment config key for frontend x-frame-options header value */
    const DEPLOYMENT_CONFIG_X_FRAME_OPT = 'x-frame-options';

    /** Always send SAMEORIGIN in backend x-frame-options header */
    const BACKEND_X_FRAME_OPT = 'SAMEORIGIN';

    /**
     * x-frame-options Header name
     *
     * @var string
     */
    protected $headerName = Http::HEADER_X_FRAME_OPT;

    /**
     * x-frame-options header value
     *
     * @var string
     */
    protected $headerValue;

    /**
     * @param string $xFrameOpt
     */
    public function __construct($xFrameOpt = 'SAMEORIGIN')
    {
        //$this->headerValue = $xFrameOpt;
    }
}

我认为这会起作用!


0
投票

0
投票

嘿我我的网站在 iram 中可见以进行打孔,但我的 AddToCart 不起作用。您是否遇到过 AddToCart 问题或有其他解决方案吗?

© www.soinside.com 2019 - 2024. All rights reserved.