Config.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. /**le
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. declare(strict_types=1);
  7. namespace Magento\Tinymce3\Model\Config\Variable;
  8. /**
  9. * Class Config adds variable plugin information required for tinymce3 editor
  10. * @deprecated 100.3.0 use \Magento\Variable\Model\Variable\ConfigProvider instead
  11. */
  12. class Config implements \Magento\Framework\Data\Wysiwyg\ConfigProviderInterface
  13. {
  14. /**
  15. * @var \Magento\Framework\View\Asset\Repository
  16. */
  17. private $assetRepo;
  18. /**
  19. * @var \Magento\Variable\Model\Variable\Config
  20. */
  21. private $defaultVariableConfig;
  22. /**
  23. * @param \Magento\Variable\Model\Variable\Config $defaultVariableConfig
  24. * @param \Magento\Framework\View\Asset\Repository $assetRepo
  25. */
  26. public function __construct(
  27. \Magento\Variable\Model\Variable\Config $defaultVariableConfig,
  28. \Magento\Framework\View\Asset\Repository $assetRepo
  29. ) {
  30. $this->assetRepo = $assetRepo;
  31. $this->defaultVariableConfig = $defaultVariableConfig;
  32. }
  33. /**
  34. * Update variable plugin url
  35. *
  36. * @param \Magento\Framework\DataObject $config
  37. * @return \Magento\Framework\DataObject
  38. */
  39. public function getConfig(\Magento\Framework\DataObject $config) : \Magento\Framework\DataObject
  40. {
  41. $settings = $this->defaultVariableConfig->getWysiwygPluginSettings($config);
  42. $pluginConfig = isset($settings['plugins']) ? $settings['plugins'] : [];
  43. $pluginData = [];
  44. if (!empty($pluginConfig)) {
  45. $pluginData = array_shift($pluginConfig);
  46. $editorPluginJs = 'Magento_Tinymce3::wysiwyg/tiny_mce/plugins/magentovariable/editor_plugin.js';
  47. $pluginData['src'] = $this->assetRepo->getUrl($editorPluginJs);
  48. $settings['variable_placeholders'] = $pluginData['options']['placeholders'];
  49. }
  50. $settings['plugins'] = [$pluginData];
  51. return $config->addData($settings);
  52. }
  53. }