Вход • Регистрация

Удваивается товар при клике на корзину

  • 24 мая 2014 г.
  • Всем откликнувшимся авансом за ранее спасибо)) А теперь к сути, переносим сайт на диафан, и столкнулись с такой проблемой что товар удваивается при клике на кнопку в корзину. Написал в тех поддержку, говорят что товар нормально добавляется. Опять проверили на разных компах и в разных браузерах, проблема наблюдается. Если в списке товаров сразу кликать на корзину и смотреть как добавляется товар, то будет видно, что в инпуте стоит единица а добавляется два товара. Кому не сложно прошу посмотреть только у нас такая проблема или у кого то тоже проскакивает? Сам пациент http://ibells.darkheart.ru Отследить причину ошибки не получается
    • 24 мая 2014 г.
    • У меня по одному добавляется, ничего не удваивается
    • 24 мая 2014 г.
    • Проверял, тоже удваивается, только не по всем позициям.
      У вас в форме два раза прописано значение "value='1' ". Возможно в этом причина.
    • 24 мая 2014 г.
    • Отправляются два запроса
      http://prntscr.com/3m4edw

      из двух разных файлов
      http://prntscr.com/3m4fj6

      в shop.js на 19 строке
      и в user-func.js на 5 строке
      • 25 мая 2014 г.
      • Странно, но вообще удалил скрипт shop.js и все равно происходит удваивание товара((
        • 25 мая 2014 г.
        • там есть два скрипта shop.js
          может вы не тот удалили?
          • 25 мая 2014 г.
          • Василий, да вроде второй - это как раз диафановский, его я не трогал. Удалил тот, который шел от старого сайта. И вроде запросов нет, так же смотрю через файрбаг
  • 17 июля 2014 г. , редакция: 17 июля 2014 г.
  • А как определить откуда уши растут? У вас получилось в 2 файлах у меня почемуто отрабатывает одна и таже функция.

    Поведаю что в начале было ...

    D.CMS v 5.4 под скальпелем.
    Вобщем, на сайте нет пойска и постольку поскольку форма поиска не выводится не подгружается и файл
    shop.buy_form.js как-то уж больно хитро он подгружается в файле shop.action.php есть такая строчка
    Код
    $this->result["js"] = '<script src="'.BASE_PATH.File::compress(Custom::path('modules/shop/js/shop.buy_form.js'), 'js').'" type="text/javascript" charset="UTF-8"></script>';

    Давольно странный ход от производителя.

    Ну думаю ладно перенесу это подключение в инициализацию модуля - облом недопетрил как его там примонтировать.

    Дальше думаю, ну всякие скролеры и jQwery-UI же подключаются к страницам, которые потенциально могут содержать эти элементы включу в заголовок аналогично.

    Ура заработало! Но неправильно Сабмитится 2 раза.

    !N: в необходимом нам файле shop.buy_form.js лежат обработчики событий нажатий на кнопки Submit с разными значениями и завёрнута отправка через JS.

    Марина - Виталик, куда и как правильнее перенсти подключение чтобы 2 раза не отрабатывало. Или проблема в другом?
    • 17 июля 2014 г. , редакция: 17 июля 2014 г.
    • Вообщем непонимаю я в чём проблема.

      Добавляю в файл themes/functions/show_js.php
      перед строкой
      Код
      if ($this->diafan->_users->useradmin) {

      вот это
      Код
      echo '<script type="text/javascript" src="'.BASE_PATH.File::compress(Custom::path('modules/shop/js/shop.buy_form.js'), 'js').'" charset="UTF-8"></script>';

      и файл shop.buy_form.js включается дважды убираю и ниразу. Чертовщина какаято.
      FF показывает следующее один раз там где его подключил
      Код
      <script charset="UTF-8" src="http://sitora/modules/shop/js/shop.buy_form.js" type="text/javascript">

      и второй раз в заголовке (в теге <head>) уже вот так
      Код
      <script async="" src="http://sitora/modules/shop/js/shop.buy_form.js">

      очевидно в заголовок он чем-то добавляется автоматически. Тогда как задействовать такое поведение не включая этот файл в themes/functions/show_js.php ?
      • 18 июля 2014 г.
      • В 5.4 JS подключаются автоматом. Вот здесь написано в каких случаях: http://cms.diafan.ru/dokument/full-manual/developers/architecture/module/js/

        Подключать вручную (то есть кодом <script charset="UTF-8" src="http://sitora/modules/shop/js/shop.buy_form.js" type="text/javascript">) не рекомендуется по двум причинам:

        - jQuery подключается внизу сайта (а именно туда мы перенесли show_js), значит если в Вашем файле есть обращение к этому фреймворку, то оно не сработает

        - возможно задвоение скриптов. Если файл никак не соотноситься с названием шаблона, используйте:
        $this->diafan->_site->js_view

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум