Не работает кнопка купить в списках в приложении сайт Есть решение

Здравствуйте. Публикую список товаров на странице приложения сайт. Товары выводятся но кнопка купить не добавляет товар в корзину без перезагрузки страницы, как на страницах приложения магазин. В чем может быть проблема? Тема дизайна стандартная, default.

11 ответов

  • 1
    Genasyst 12 мая 2017 21:04 #

    Напишите адрес страницы где у вас товары стоят

    • +1
      GenP GenP 12 мая 2017 21:13 #

      Сайт https://goo.gl/xsvcQk
      В блоке "Последние поступления" вывожу через шаблон list-thumbs-mini.html в этом случае кнопка работает но с перезагрузкой странице.
      В блоке "Топ лидеров продаж" вывожу через list-thumbs.html в этом случае кнопка купить ведет вобще непонятно куда.
      Шаблоны для вывода списка товаров стандартные и не менялись.

      • +1

        и не будет работать толком, обработчика нет, который висит в этом файле /wa-data/public/shop/themes/default1/default.shop.js

        во общем нужно править JS код

        • +1
          Genasyst Genasyst 12 мая 2017 21:44 #

          потому что нужно стивить виджетами

          • +1

            по хорошему я бы всю логику и шаблон перенес в магазин)

            • +1
              GenP GenP 12 мая 2017 21:55 #

              Я вот тоже так думаю. Да уже немного поздно не хочется по новой переделывать ) Раньше так и делал в этот раз решил по другому, никогда бы не подумал что упрусь в такую банальщину.

              Странно что разработчики такие вещи не предусмотрели. В админке код для вставки списка в другие приложения есть, в вот что бы это работало нужны танцы с бубном.

              • +2

                По своей сути - добавление работает, но с перезагрузкой страницы, соответственно чтобы все работало четко, нужно из default.shop.js вырезать обработчик и вставить в default.js темы сайта

                • +1
                  GenP GenP 12 мая 2017 22:39 #
                  Спасибо за наводку. Разобрался с этим моментом.

                  Распишу подробнее может кому понадобиться. Если нужно вывести список товаров в приложении сайт и что бы работало добавление в корзину, то нужно в header приложения сайт подключить js. из приложения магазин а именно jquery.bxslider.min.js и default.shop.js
                  А также если список выводится через стандартный шаблон списка list-thumbs.html
                  то нужно в нем в строке

                  <form class="purchase addtocart" {if $p.sku_count > 1}data-url="{$p.frontend_url}{if strpos($p.frontend_url, '?')}&{else}?{/if}cart=1"{/if} method="post" action="{$wa->getUrl('/frontendCart/add')}">

                  заменить /frontendCart/add на shop/frontendCart/add
                  Тогда заработает добавление товара в корзину без перезагрузки страницы.

                  • +1
                    GenP GenP 12 мая 2017 23:03 #

                    Еще дополнение что бы заработало добавление в сравнение товаров в списке.
                    Нужно в приложение site добавить js из приложения магазин а именно jquery.cookie.js
                    Подключить его нужно после подключения jqvery и перед подключением default.shop.js
                    Далее в шаблоне приложения site, в код нужно добавить html блок для вывода кнопки списка сравнения.

                    <aside id="compare-leash">
                      <a style="display:none;" href="/shop/compare//">Сравнить выбранные товары (<strong>0</strong>)</a>
                    </aside>

                    Эти все изменения делаются на стандартной теме default, если у вас другая тема то принцип скорее всего тотже но конкретная реализация может быть другой.

          • +1
            GenP GenP 12 мая 2017 21:55 #

            А можете подробнее. Виджеты это вроде для админки.

  • 1
    GenP 12 мая 2017 23:06 # Решение

    Вопрос решенен:
    Распишу подробнее может кому понадобиться. Если нужно вывести список товаров в приложении сайт и что бы работало добавление в корзину, то нужно в header приложения сайт подключить js. из приложения магазин а именно jquery.bxslider.min.js и default.shop.js

    А также если список выводится через стандартный шаблон списка list-thumbs.html
    то нужно в нем в строке

    <form class="purchase addtocart" {if $p.sku_count > 1}data-url="{$p.frontend_url}{if strpos($p.frontend_url, '?')}&{else}?{/if}cart=1"{/if} method="post" action="{$wa->getUrl('/frontendCart/add')}">

    заменить /frontendCart/add на shop/frontendCart/add

    Тогда заработает добавление товара в корзину без перезагрузки страницы.

    Еще дополнение что бы заработало добавление в сравнение товаров в списке.
    Нужно в приложение site добавить js из приложения магазин а именно jquery.cookie.js
    Подключить его нужно после подключения jqvery и перед подключением default.shop.js
    Далее в шаблоне приложения site, в код нужно добавить html блок для вывода кнопки списка сравнения.

    <aside id="compare-leash">
      <a style="display:none;" href="/shop/compare//">Сравнить выбранные товары (<strong>0</strong>)</a>
    </aside>

    Эти все изменения делаются на стандартной теме default, если у вас другая тема то принцип скорее всего тотже но конкретная реализация может быть другой.

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

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