Проблема с хуком backend_prod.sidebar_item

День добрый!

Проблема на примере нашего плагина "Журнал изменения остатков". 

По хуку backend_prod.sidebar_item я вывожу ссылку/вкладку на страницу товара:


Проблема в том, что этот хук находится внутри условия $can_edit. И если у пользователя нет прав на редактирование товаров, то он ссылки "Журнал остатков" не увидит. И не проблема, если был бы хук (условно backend_prod.sidebar_item_report) в блоке Отчеты. Но там его нет и получается плагин не может вывести ссылку такому пользователю:

2 ответа

  • 1
    ITFrogs 27 февраля 2026 17:36 #

    Не понятно зачем нужна такая проверка. Разработчики плагинов сами решат какие требования предъявлять юзерам админки.

    • +1
      Webry Webry 27 февраля 2026 17:53 #

      Просто хук лежит внутри условия, думаю, логично его вынести ниже, когда условие уже закончилось. Сейчас так:

      {if !empty($can_edit)}
          <section class="s-sidebar-section">
              <div class="heading custom-ml-12">[`Editing`]</div>
              <ul class="menu">
                  <li>
                      <a href="{$wa_app_url}products/{$id|escape}/general/" data-tab-id="general">
                          <span>[`Basic data`]</span>
                      </a>
                  </li>
                  <li>
                      <a href="{$wa_app_url}products/{$id|escape}/sku/" data-tab-id="sku">
                          <span>[`Prices & features`]</span>
                      </a>
                  </li>
                  <li>
                      <a href="{$wa_app_url}products/{$id|escape}/media/" data-tab-id="media">
                          <span>[`Images & videos`]</span>
                      </a>
                  </li>
                  <li>
                      <a href="{$wa_app_url}products/{$id|escape}/seo/" data-tab-id="seo">
                          <span>[`SEO`]</span>
                      </a>
                  </li>
                  <li>
                      <a href="{$wa_app_url}products/{$id|escape}/services/" data-tab-id="services">
                          <span>[`Services`]</span>
                      </a>
                  </li>
                  <li>
                      <a href="{$wa_app_url}products/{$id|escape}/related/" data-tab-id="related">
                          <span>[`Related products`]</span>
                      </a>
                  </li>
                  <li>
                      <a href="{$wa_app_url}products/{$id|escape}/pages/" data-tab-id="pages">
                          <span>[`Subpages`]</span>
                      </a>
                  </li>
      
                  <!-- plugin hook: 'backend_prod.sidebar_item' -->
                  {* @event backend_prod.%plugin_id%.sidebar_item *}
                  {if !empty($backend_prod_event)}{foreach $backend_prod_event as $_}{strip}
                      {ifset($_.sidebar_item)}
                      {if isset($_.sidebar_item_tooltip_id)}
                          {$_tooltips[$_.sidebar_item_tooltip_id] = [
                              "id" => $_.sidebar_item_tooltip_id,
                              "html" => $_.sidebar_item_tooltip_html,
                              "start_time" => 500
                          ]}
                      {/if}
                  {/strip}{/foreach}{/if}
      
              </ul>
          </section>
      {/if}

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите