Административная библиотека картинок Magento 2 используется администраторами интернет-магазина для загрузки, хранения и последующего использования картинок (например, при написании статей и описании товаров:),
Технически административная библиотека картинок Magento 2 — это виджет jQuery UI]1, виджет вызывается так: $.mage.mediabrowser
.
Доступен также глобальный объект MediabrowserUtility
, который открывает (метод openDialog
) и закрывает (метод closeDialog
) всплывающее окно библиотеки.
Для использования как $.mage.mediabrowser
, так иMediabrowserUtility
надо загрузить модуль AMD lib/web/mage/adminhtml/browser.js
. Это можно сделать по короткому имени этого модуля: mage/adminhtml/browser
name.
Ниже пример моего кода, который загружает модуль mage/adminhtml/browser
и затем открывает библиотеку картинок по нажатию кнопки.
define(['jquery','mage/adminhtml/browser'
], function($) {return function(config) {
$('.some-button').click(function(){
/** @type Object */
var cc = config['coreConfig'];
/** @type String */
var url = cc['files_browser_window_url'] + 'target_element_id/' + config.id + '/';
/** @type ?Number */
var storeId = cc['store_id'];
if (storeId) {
url += 'store/' + storeId;
}
MediabrowserUtility.openDialog(url);
});
};});
Обратите внимание, что методу MediabrowserUtility.openDialog
требуется передать в качестве параметра специальный веб-адрес.
Необходимая для построения этого веб-адреса информация получена посредством технологии, описанной в статье Как передать параметры из *.phtml в компонент на JavaScript посредством x-magento-init.
В свою очередь. на стороне PHP эту информацию можно получить вызовом метода \Magento\Cms\Model\Wysiwyg\Config::getConfig()
.
Параметр target_element_id
в веб-адресе — это идентификатор элемента DOM, который получит результат обращения администратора к библиотеке: то есть адрес выбранной администратором картинки. Например, этим элементом DOM может быть редактор статьи, куда должна быть вставлена картинка.