TreeJson.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. /**
  3. *
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. namespace Magento\Cms\Controller\Adminhtml\Wysiwyg\Images;
  8. class TreeJson extends \Magento\Cms\Controller\Adminhtml\Wysiwyg\Images
  9. {
  10. /**
  11. * @var \Magento\Framework\Controller\Result\JsonFactory
  12. */
  13. protected $resultJsonFactory;
  14. /**
  15. * @var \Magento\Framework\View\LayoutFactory
  16. */
  17. protected $layoutFactory;
  18. /**
  19. * @param \Magento\Backend\App\Action\Context $context
  20. * @param \Magento\Framework\Registry $coreRegistry
  21. * @param \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory
  22. * @param \Magento\Framework\View\LayoutFactory $layoutFactory
  23. */
  24. public function __construct(
  25. \Magento\Backend\App\Action\Context $context,
  26. \Magento\Framework\Registry $coreRegistry,
  27. \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory,
  28. \Magento\Framework\View\LayoutFactory $layoutFactory
  29. ) {
  30. $this->layoutFactory = $layoutFactory;
  31. $this->resultJsonFactory = $resultJsonFactory;
  32. parent::__construct($context, $coreRegistry);
  33. }
  34. /**
  35. * Tree json action
  36. *
  37. * @return \Magento\Framework\Controller\ResultInterface
  38. */
  39. public function execute()
  40. {
  41. /** @var \Magento\Framework\Controller\Result\Json $resultJson */
  42. $resultJson = $this->resultJsonFactory->create();
  43. try {
  44. $this->_initAction();
  45. /** @var \Magento\Framework\View\Layout $layout */
  46. $layout = $this->layoutFactory->create();
  47. $resultJson->setJsonData(
  48. $layout->createBlock(
  49. \Magento\Cms\Block\Adminhtml\Wysiwyg\Images\Tree::class
  50. )->getTreeJson()
  51. );
  52. } catch (\Exception $e) {
  53. $result = ['error' => true, 'message' => $e->getMessage()];
  54. $resultJson->setData($result);
  55. }
  56. return $resultJson;
  57. }
  58. }