backend_prod
Позволяет добавлять дополнительное содержимое в общий макет страниц раздела «Товары» в новом интерфейсе (2.0): в боковую панель и основное содержимое. В подключаемом JavaScript-коде можно регистрировать обработчики событий для элементов, находящихся внутри контейнера с селектором '#wa-app' (кроме самого этого элемента — для него обработчики событий нужно регистрировать в JavaScript-коде, подключаемом с помощью хука backend_prod_layout).
Доступно начиная с версии 8.18.0.
Shop-Script
Входящие параметры (передаются по ссылке)
$params['product'] object Экземпляр класса
$params['section_id'] string Идентификатор текущей части раздела «Товары», например: 'product' (страница одного товара).
shopProduct, соответствующего данному товару.$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 '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,
];
}









