损坏的html脚本-incapsula是否更改html标记的位置?

yebdmbv4  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(400)

我将magento2与fpc、varish、redis和incapsula一起使用,对于一个损坏的html内容,我面临一个非常奇怪的行为。我有一个phtml文件,其中包含一些php和javascript,如下所示:

<div class="some-class">
 <!--html -->
 </div>
 <script>
 //...
$element.wrap('<div class="red"></div>');
//..
</script>

在父模板(也是phtml文件)中,使用php include包含此文件(是的,这是magento核心模块在不使用块的情况下包含它的方式),如下所示:

<?php include 'path/to/file.phtml'; ?>

问题是,在页面源代码中,我得到了以下意外的html:

<div class="some-class">
<!--html -->
</div>
<script>
//...
$element.wrap('<div class="red"></script></div>');
//..broken content here due to the moved script tag

注意移动的结束标记。。
我知道这种情况可能是由于几个问题造成的,但我怀疑incapsula是因为它被唯一出现问题的环境所使用
请提出与缓存相关的可能方案,如有任何帮助或想法,我们将不胜感激。
谢谢

ztigrdn8

ztigrdn81#

尝试用这种方法在phtml中回显其他phtml。

<?php
echo $block->getLayout()
    ->createBlock("Magento\Framework\View\Element\Template")
    ->setTemplate("Your_Module::file.phtml")
    ->toHtml();
?>

相关问题