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

Дублирование товаров при клике купить

  • 05 ноября 2020 г.
  • На главной странице есть несколько блоков с товарами. Один и тот же товар может быть в нескольких блоках. Нажимая купить товар X, этот товар попадает в корзину 3 раза, потому что он имеется в 3-х блоках на главной странице. Как решить проблему? Отмечу, что блоки имеют разные шаблоны. К этим шаблонам я переименовал также файлы js. Пример buy_form_example.php, buy_form_example.js
    • 05 ноября 2020 г.
    • Попробуйте убрать buy_form_example.js, а в buy_form_example.php вставить строчку
      Код
      $this->diafan->_site->js_view[]='modules/shop/js/shop.buy_form.js';

      Проверьте результат. Не 100%, но может помочь.
  • 05 ноября 2020 г.
  • Цитата
    К этим шаблонам я переименовал также файлы js. Пример buy_form_example.php, buy_form_example.js

    То есть у вас на странице три одинаковых скрипта с разными названиями и вы спрашиваете почему срабатывает три раза?
    • 05 ноября 2020 г.
    • Не, он не спрашивает почему, он спрашивает как решить )
      Но ответ очевиден, да ) Убрать дубли.
      Варианта два, либо как говорит Александра, убрать js из блоков (и тогда надо в блоках убрать кнопку купить, заменив на простую ссылку в карточку товара), либо переписать js, заменив id элементов в клонированных скриптах
      • 05 ноября 2020 г.
      • Кстати, попробуйте удалить совсем js к шаблонам.
        Цитата
        я переименовал также файлы js. Пример buy_form_example.php, buy_form_example.jsя переименовал также файлы js. Пример buy_form_example.php, buy_form_example.js
        если логика работы js не меняется, клонировать их смысла нет, из любого шаблона основной js и так будет работать
        • 05 ноября 2020 г.
        • Удалял js ко всем шаблонам. Оставил основной только. Не помогло.
          Переписал js. Добавил различимые классы в шаблонах и от этих классов запускаю события клика по кнопке купить.
          • 05 ноября 2020 г. , редакция: 05 ноября 2020 г.
          • Цитата
            Удалял js ко всем шаблонам. Оставил основной только. Не помогло.

            Безусловно, в режиме разработчика, затем, само собой, чистили кеш и, естественно, в браузере ctrl+F5 нажимали? ;)
    • 05 ноября 2020 г.
    • Это я знаю. На диафан делаю свой первый сайт. Просто на просторах интернета по теме CMS Diafan было написано, что нужно переименовывать файлы так, чтобы совпадали постфиксы шаблонов php и js файлов. Не думал что будут одинаковые обработчики событий.
      • 05 ноября 2020 г.
      • Цитата
        нужно переименовывать файлы так, чтобы совпадали постфиксы шаблонов php и js файлов.

        Это если нужно сделать разные js для разных шаблонов! По потребностям, а не обязательно! Надо - сделали, система позволяет. Не надо - обойдется одним js

        Цитата
        Не думал что будут одинаковые обработчики событий.

        Так если код одинаковый, почему он по-разному работать-то будет? )))

Новости

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

Форум