backend_prod_layout
Срабатывает при первоначальном формировании HTML-кода обновлённого раздела «Товары». Этот хук срабатывает, когда полностью обновляется HTML-код страницы редактора товара, включая теги <!DOCTYPE>, <HTML>, <HEAD> и <BODY>. При обработке этого хука удобно подключать CSS- и JavaScript-файлы плагина с помощью методов addCss() и addJs(). В подключаемом JavaScript-коде можно регистрировать обработчики событий wa_loaded и wa_before_load.
Shop-Script
Входящие параметры (передаются по ссылке)
$params['product'] shopProduct Объект свойств текущего товара.
… код плагина …
Результат работы плагина
{$backend_prod_layout.head}
HTML-код дополнительного содержимого содержимого в секции
.{$backend_prod_layout.top}
HTML-код дополнительного содержимого содержимого в верхней части страницы.
{$backend_prod_layout.bottom}
HTML-код дополнительного содержимого содержимого в нижней части страницы.
Shop-Script
Пример кода плагина
PHP
public function backendProdLayout($params) { $this->addCss('css/myplugin.css'); $this->addJs('js/myplugin.js'); /** @var shopProduct $product */ $product = $params['product']; $head = <<<HTML <script> $(function () { var \$wrapper = $("#wa-app"); \$wrapper.on('wa_before_load', function (event, params) { console.log('Page content reload via AJAX initiated by a user.'); }); \$wrapper.on('wa_loaded', function (event, params) { console.log('Product editor content loaded. Product ID is {$product->id}.'); }); }); </script> HTML; $top_message = _wp('My plugin’s message at the very top.'); $top = <<<HTML <div class="block">{$top_message}</div> HTML; $bottom_message = _wp('My plugin’s message at the very bottom.'); $bottom = <<<HTML <div class="block">{$bottom_message}</div> HTML; return [ 'head' => $head, 'top' => $top, 'bottom' => $bottom, ]; }