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,
    ];
}