JS API

Здравствуйте, коллеги!

Подскажите, пожалуйста, есть ли у Shop Script JS API? Если да - где можно почитать документацию? Может, официального API нету, но как-то ведь можно использовать стандартные скрипты...

В частности столкнулся со следующей проблемой. 

В админке на странице товаров в правом саздбаре есть раздел "Организовать". По документированному хуку добавляю туда свой пункт меню:

<li data-action="test"><a href="">&#039;._wp(&#039;My top link&#039;).&#039;</a></li>

data-action="test" - добавил по аналогии с другими пунктами. По идее, по этому атрибуту запускается некая js-функция. Но как и куда её прописать - вопрос...

В идеале нужно по клику на ссылку получить id выбранных товаров и открыть попап со своей формой.

8 ответов

  • 1
    enso_studio@mail.ru 12 октября 2018 17:15 #

    не, wa никаких событий и колбеков разботчикам не добавляют.

    • +1
      Алекс Леванов Алекс Леванов 12 октября 2018 19:29 #

      Есть, конечно, способ. По хуку backend_products добавлять свой файл-js через addJs и уже им обрабатывать клик по ссылке. 

      Но на сколько этот метод валидный? Пропустят ли модеры такой плагин в магазин на продажу? Может кто-то сталкивался?

      • +1
        Константин Шевский Константин Шевский 12 октября 2018 19:35 #

        Пропустят.

        • +1
          Алекс Леванов Алекс Леванов 12 октября 2018 19:39 #

          Спс)

          • +1
            enso_studio@mail.ru enso_studio@mail.ru 12 октября 2018 21:02 #

            собственно так все и делают, вот только addJs\addCss не срабатывает в большей части хуков т.е. хук выполняется после формирования заголовка.

      • +1
        Алексей Алексей 12 октября 2018 20:33 #

        $.product_list.getSelectedProducts() даст вам выбранные товары.
        addJS может уже не сработать, поэтому просто <script src> или inline.

        • +1
          Алекс Леванов Алекс Леванов 12 октября 2018 21:22 #

          Спасибо. За эту функцию не знал. Думал руками делать.

          А addJs/addCss конкретно в этом хуке работает - проверил.

          Но... Может кому ещё пригодится...

          $('document').ready() срабатывает раньше, чем появляется моя ссылка. Выход - событие клика через html:

          <li data-action="test">
              <a onclick="my_func(event)" href="#">Текст ссылки</a>
          </li>

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

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