Hi Guys,
I faced an issue on M2.3.2 EE that the PageBuilder HTML Area Not shows the Widget and Magento Variable buttons.
Therefore I create a patch by checking the m2.3.3 version.
Patch File:
--- vendor/magento/module-page-builder/view/adminhtml/web/js/form/element/html-code.js (date 1568094986000) +++ vendor/magento/module-page-builder/view/adminhtml/web/js/form/element/html-code.js (date 1568094986000) @@ -0,0 +1,47 @@ +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +define([ + 'Magento_Ui/js/form/element/textarea', + 'mage/adminhtml/wysiwyg/widget' +], function (Textarea) { + 'use strict'; + + var HTML_ID_PLACEHOLDER = 'HTML_ID_PLACEHOLDER'; + + return Textarea.extend({ + defaults: { + elementTmpl: 'Magento_PageBuilder/form/element/html-code' + }, + + /** + * Click event for Insert Widget Button + */ + clickInsertWidget: function () { + return widgetTools.openDialog( + this.widgetUrl.replace(HTML_ID_PLACEHOLDER, this.uid) + ); + }, + + /** + * Click event for Insert Image Button + */ + clickInsertImage: function () { + return MediabrowserUtility.openDialog( + this.imageUrl.replace(HTML_ID_PLACEHOLDER, this.uid) + ); + }, + + /** + * Click event for Insert Variable Button + */ + clickInsertVariable: function () { + return MagentovariablePlugin.loadChooser( + this.variableUrl, + this.uid + ); + }, + }); +}); --- vendor/magento/module-page-builder/Component/Form/HtmlCode.php (date 1568094986000) +++ vendor/magento/module-page-builder/Component/Form/HtmlCode.php (date 1568094986000) @@ -0,0 +1,95 @@ +<?php +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\PageBuilder\Component\Form; + +use Magento\Backend\Model\UrlInterface as BackendUrlInterface; +use Magento\Cms\Helper\Wysiwyg\Images; +use Magento\Framework\View\Element\UiComponentFactory; +use Magento\Framework\View\Element\UiComponent\ContextInterface; +use Magento\Variable\Model\Variable\Config as VariableConfig; + +/** + * Updates field element with HTML Code specific config + */ +class HtmlCode extends \Magento\Ui\Component\Form\Field +{ + const HTML_ID_PLACEHOLDER = 'HTML_ID_PLACEHOLDER'; + + /** + * @var BackendUrlInterface + */ + private $backendUrl; + + /** + * @var Images + */ + private $imagesHelper; + + /** + * @var VariableConfig + */ + private $variableConfig; + + /** + * @var string + */ + private $currentTreePath; + + /** + * @param ContextInterface $context + * @param UiComponentFactory $uiComponentFactory + * @param BackendUrlInterface $backendUrl + * @param Images $imagesHelper + * @param VariableConfig $variableConfig + * @param string $currentTreePath + * @param array $components + * @param array $data + */ + public function __construct( + ContextInterface $context, + UiComponentFactory $uiComponentFactory, + BackendUrlInterface $backendUrl, + Images $imagesHelper, + VariableConfig $variableConfig, + $currentTreePath = 'wysiwyg', + $components = [], + array $data = [] + ) { + $this->backendUrl = $backendUrl; + $this->imagesHelper = $imagesHelper; + $this->variableConfig = $variableConfig; + $this->currentTreePath = $currentTreePath; + parent::__construct($context, $uiComponentFactory, $components, $data); + } + + /** + * Prepare component configuration + * + * @return void + * @throws \Magento\Framework\Exception\LocalizedException + */ + public function prepare() + { + $config = $this->getData('config'); + $config['widgetUrl'] = $this->backendUrl->getUrl( + 'adminhtml/widget/index', + [ + 'widget_target_id' => self::HTML_ID_PLACEHOLDER + ] + ); + $config['imageUrl'] = $this->backendUrl->getUrl( + 'cms/wysiwyg_images/index', + [ + 'current_tree_path' => $this->imagesHelper->idEncode($this->currentTreePath), + 'target_element_id' => self::HTML_ID_PLACEHOLDER + ] + ); + $config['variableUrl'] = $this->variableConfig->getVariablesWysiwygActionUrl(); + $this->setData('config', $config); + parent::prepare(); + } +} --- vendor/magento/module-page-builder/view/adminhtml/ui_component/pagebuilder_html_form.xml (date 1574666522000) +++ vendor/magento/module-page-builder/view/adminhtml/ui_component/pagebuilder_html_form.xml (date 1574663946764) @@ -74,7 +74,7 @@ <settings> <label/> </settings> - <field name="html" formElement="textarea" sortOrder="10"> + <field name="html" formElement="textarea" sortOrder="10" component="Magento_PageBuilder/js/form/element/html-code" class="Magento\PageBuilder\Component\Form\HtmlCode"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="source" xsi:type="string">page</item> --- vendor/magento/module-page-builder/view/adminhtml/web/template/form/element/html-code.html (date 1568094986000) +++ vendor/magento/module-page-builder/view/adminhtml/web/template/form/element/html-code.html (date 1568094986000) @@ -0,0 +1,52 @@ +<!-- +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ +--> + +<div class="admin__control-wysiwig"> + <div id="buttonspagebuilder_html_form_html" class="buttons-set"> + <button type="button" + class="scalable action-add-widget plugin" + click="clickInsertWidget"> + <span> + <span> + <span translate="'Insert Widget...'"/> + </span> + </span> + </button> + <button type="button" + class="scalable action-add-image plugin" + click="clickInsertImage"> + <span> + <span> + <span translate="'Insert Image...'"/> + </span> + </span> + </button> + <button type="button" + class="scalable add-variable plugin" + click="clickInsertVariable"> + <span> + <span> + <span translate="'Insert Variable...'"/> + </span> + </span> + </button> + </div> +</div> +<textarea class="admin__control-textarea" data-bind=" + value: value, + valueUpdate: valueUpdate, + hasFocus: focused, + attr: { + name: inputName, + cols: cols, + rows: rows, + 'aria-describedby': noticeId, + placeholder: placeholder, + id: uid, + disabled: disabled + }" +/>
Cheers!