Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Content.php
Go to the documentation of this file.
1 <?php
7 
15 class Content extends \Magento\Backend\Block\Widget\Container
16 {
20  protected $_storageHelper;
21 
25  protected $jsonHelper;
26 
33  public function __construct(
34  \Magento\Backend\Block\Widget\Context $context,
35  \Magento\Theme\Helper\Storage $storageHelper,
36  \Magento\Framework\Json\Helper\Data $jsonHelper,
37  array $data = []
38  ) {
39  $this->jsonHelper = $jsonHelper;
40  $this->_storageHelper = $storageHelper;
41  parent::__construct($context, $data);
42  }
43 
49  protected function _construct()
50  {
51  parent::_construct();
52  $this->_headerText = __('Media Storage');
53  $this->buttonList->remove('back');
54  $this->buttonList->remove('edit');
55  $this->buttonList->add(
56  'newfolder',
57  [
58  'class' => 'save',
59  'label' => __('Create Folder'),
60  'type' => 'button',
61  'onclick' => 'MediabrowserInstance.newFolder();'
62  ]
63  );
64 
65  $this->buttonList->add(
66  'delete_folder',
67  [
68  'class' => 'delete no-display',
69  'label' => __('Delete Folder'),
70  'type' => 'button',
71  'onclick' => 'MediabrowserInstance.deleteFolder();',
72  'id' => 'button_delete_folder'
73  ]
74  );
75 
76  $this->buttonList->add(
77  'delete_files',
78  [
79  'class' => 'delete no-display',
80  'label' => __('Delete File'),
81  'type' => 'button',
82  'onclick' => 'MediabrowserInstance.deleteFiles();',
83  'id' => 'button_delete_files'
84  ]
85  );
86 
87  $this->buttonList->add(
88  'insert_files',
89  [
90  'class' => 'save no-display',
91  'label' => __('Insert File'),
92  'type' => 'button',
93  'onclick' => 'MediabrowserInstance.insert();',
94  'id' => 'button_insert_files'
95  ]
96  );
97  }
98 
104  public function getContentsUrl()
105  {
106  return $this->getUrl(
107  'adminhtml/*/contents',
108  ['type' => $this->getRequest()->getParam('type')] + $this->_storageHelper->getRequestParams()
109  );
110  }
111 
117  public function getFilebrowserSetupObject()
118  {
119  $setupObject = new \Magento\Framework\DataObject();
120 
121  $setupObject->setData(
122  [
123  'newFolderPrompt' => __('New Folder Name:'),
124  'deleteFolderConfirmationMessage' => __('Are you sure you want to delete this folder?'),
125  'deleteFileConfirmationMessage' => __('Are you sure you want to delete this file?'),
126  'targetElementId' => $this->getTargetElementId(),
127  'contentsUrl' => $this->getContentsUrl(),
128  'onInsertUrl' => $this->getOnInsertUrl(),
129  'newFolderUrl' => $this->getNewfolderUrl(),
130  'deleteFolderUrl' => $this->getDeletefolderUrl(),
131  'deleteFilesUrl' => $this->getDeleteFilesUrl(),
132  'headerText' => $this->getHeaderText(),
133  'showBreadcrumbs' => true,
134  ]
135  );
136 
137  return $this->jsonHelper->jsonEncode($setupObject);
138  }
139 
145  public function getNewfolderUrl()
146  {
147  return $this->getUrl('adminhtml/*/newFolder', $this->_storageHelper->getRequestParams());
148  }
149 
155  protected function getDeletefolderUrl()
156  {
157  return $this->getUrl('adminhtml/*/deleteFolder', $this->_storageHelper->getRequestParams());
158  }
159 
165  public function getDeleteFilesUrl()
166  {
167  return $this->getUrl('adminhtml/*/deleteFiles', $this->_storageHelper->getRequestParams());
168  }
169 
175  public function getOnInsertUrl()
176  {
177  return $this->getUrl('adminhtml/*/onInsert', $this->_storageHelper->getRequestParams());
178  }
179 
185  public function getTargetElementId()
186  {
187  return $this->getRequest()->getParam('target_element_id');
188  }
189 }
__()
Definition: __.php:13
__construct(\Magento\Backend\Block\Widget\Context $context, \Magento\Theme\Helper\Storage $storageHelper, \Magento\Framework\Json\Helper\Data $jsonHelper, array $data=[])
Definition: Content.php:33