backend_prod
Позволяет добавлять дополнительное содержимое в общий макет страниц нового редактора товара: в боковую панель и основное содержимое. В подключаемом JavaScript-коде можно регистрировать обработчики событий для элементов, находящихся внутри контейнера с селектором '#wa-app' (кроме самого этого элемента — для него обработчики событий нужно регистрировать в JavaScript-коде, подключаемом с помощью хука backend_prod_layout).
Shop-Script
Входящие параметры (передаются по ссылке)
$params['product'] shopProduct Объект свойств товара.
$params['section_id'] string Идентификатор текущей части раздела «Товары», например: 'product' — страница одного товара. В будущем планируется добавлять другие части — например, часть для управления списком товаров, у которой будет другой идентификатор.
$params['section_id'] string Идентификатор текущей части раздела «Товары», например: 'product' — страница одного товара. В будущем планируется добавлять другие части — например, часть для управления списком товаров, у которой будет другой идентификатор.
… код плагина …
Результат работы плагина
{$backend_prod.header}
HTML-код дополнительного содержимого в правой верхней части страниц редактора товара.
{$backend_prod.bottom}
HTML-код дополнительного содержимого в нижней части страниц редактора товара.
{$backend_prod.sidebar_item}
HTML-код дополнительных элементов <li> в конце секции «Редактирование» главного меню редактора товара.
Shop-Script
Пример кода плагина
PHP
public function backendProd($params) { /** @var shopProduct $product */ $product = $params['product']; $wa_app_url = wa()->getAppUrl('shop', true); // See 'custom_routing' event's description to add support for such URLs. $sidebar_item_url = "{$wa_app_url}products/{$product->id}/myplugin/"; $sidebar_item_text = _wp('My plugin'); $sidebar_item_hint = _wp('My plugin’s info'); $sidebar_item = <<<HTML <li> <a href="{$sidebar_item_url}"> <span>{$sidebar_item_text}</span> <span class="count"> <span class="wa-tooltip bottom-left" data-title="{$sidebar_item_hint}"> <i class="s-icon fas fa-question-circle"></i> </span> </span> </a> </li> HTML; $section_id = $params['section_id']; $bottom = <<<HTML <script> $(function () { console.log('My plugin works!', 'The section ID is "{$section_id}".'); }); </script> HTML; $header_button_text = _wp('My plugin’s button'); $header_button_message = _wp('My plugin’s message!'); $header = <<<HTML <div class="s-details"> <button onclick="alert('{$header_button_message}');">{$header_button_text}</button> </div> HTML; return [ 'sidebar_item' => $sidebar_item, 'bottom' => $bottom, 'header' => $header, ]; }