diff --git a/vendor/magento/module-versions-cms/Block/Adminhtml/Cms/Hierarchy/Widget/Chooser.php b/vendor/magento/module-versions-cms/Block/Adminhtml/Cms/Hierarchy/Widget/Chooser.php index ba7839071533..893abd0e20d7 100644 --- a/vendor/magento/module-versions-cms/Block/Adminhtml/Cms/Hierarchy/Widget/Chooser.php +++ b/vendor/magento/module-versions-cms/Block/Adminhtml/Cms/Hierarchy/Widget/Chooser.php @@ -17,5 +17,8 @@ namespace Magento\VersionsCms\Block\Adminhtml\Cms\Hierarchy\Widget; +use Magento\Framework\App\ObjectManager; +use Magento\Framework\Serialize\Serializer\JsonHexTag; + /** * Class Chooser * Cms Pages Hierarchy Grid Block @@ -41,5 +44,10 @@ class Chooser extends \Magento\Backend\Block\Template protected $_jsonEncoder; + /** + * @var JsonHexTag + */ + private JsonHexTag $jsonHexTagSerializer; + /** * Path to template file in theme. * @@ -54,15 +62,19 @@ class Chooser extends \Magento\Backend\Block\Template * @param \Magento\Framework\Json\EncoderInterface $jsonEncoder * @param \Magento\VersionsCms\Model\Hierarchy\NodeFactory $nodeFactory * @param array $data + * @param JsonHexTag|null $jsonHexTagSerializer */ public function __construct( \Magento\Backend\Block\Template\Context $context, \Magento\Framework\Json\EncoderInterface $jsonEncoder, \Magento\VersionsCms\Model\Hierarchy\NodeFactory $nodeFactory, - array $data = [] + array $data = [], + ?JsonHexTag $jsonHexTagSerializer = null ) { $this->_jsonEncoder = $jsonEncoder; $this->_nodeFactory = $nodeFactory; + $this->jsonHexTagSerializer = $jsonHexTagSerializer + ?? ObjectManager::getInstance()->get(JsonHexTag::class); parent::__construct($context, $data); } @@ -125,6 +137,6 @@ public function prepareElementHtml(\Magento\Framework\Data\Form\Element\Abstract public function getNodesJson() { - return $this->_jsonEncoder->encode($this->getNodes()); + return $this->jsonHexTagSerializer->serialize($this->getNodes()); } /** @@ -169,8 +181,8 @@ public function getCMSHierarchyTree($tree): string { $html = "