我正在尝试将打孔系统与 Magento 2 集成。
出于安全原因,Magento 不允许打开 iframe。我已在 env.php 文件中添加了 'x-frame-options' => '*' 选项,但仍然不允许打开 Iframe。
另外,我更改了以下文件,但没有得到确切的结果。
供应商\magento ramework\App\Response\HeaderProvider\XFrameOptions.php
我从打孔中得到以下回复。之后我得到一个空白屏幕。
在打孔响应中,x-frame-options 显示两次。
您能否指导一下在 Iframe 中打开网站需要哪些设置?
提前致谢
我找到了解决方案:
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;
}
}
我认为这会起作用!
尝试使用 Takeoff 中的此插件:https://takeoffdigital.co.uk/magento-cxml-punchout-integration-plugin/
嘿我我的网站在 iram 中可见以进行打孔,但我的 AddToCart 不起作用。您是否遇到过 AddToCart 问题或有其他解决方案吗?