Почему у меня отваливается возможность добавить в корзину в битриксе?
На сайте есть две мини корзины, которые показывают количество товаров и сумму, при наведении на ни выпадает краткий список товаров, которые в корзине. Таких элементов два, в футере и в шапке, но они слегка отличаются версткой.
Их я вывожу, как компонент корзины, только с разными шаблонами.
Шаблон и вызов компонента я взял от основной корзины. А шаблон я скопировал, убрав лишнее, добавив свое (ну может это важно, хз).
И в чем суть собственно:
Если делать сразу две мини корзины, то становится невозможным добавление товара в корзину. Добавляется у меня всё просто аякс ссылкой, например, такой: /catalog/tovar/index.php?action=BUY&id=33002
А если одну из корзин отключить, то тогда все ок. Если две - не добавляется. Запрос уходит и корзине пофигу. При этом обе корзины показывают то, что нужно, без проблем работают, только вот добавление отваливается.
Проблема точно не в аяксе, потому что вбив ссылку в ручную в браузер - нет результата.
Не подскажете ли, в чем может быть причина? Может что-то посоветуете?
Проблема скорее всего в конфликте компонент.
Если на странице вы ставите один и тот же компонент два раза, то и отрабатывать он должен два раза, несмотря на то, что вы используете разные шаблоны, если конечно в логике компонента/шаблона не предусмотрен предварительный выход.
В конкретно вашем случае проблема может быть только на клиенте, а именно в разметке и JS, проверьте не повторяются ли id в HTML, посмотрите отладчиком что делает JS.
Romeo_viruS: альтернатива пишите с 0, используйте фреймворки и будет вам счастье ! А использовать готовое решение которое кривое даже из коробки, это как-то не очень
Akellacom: Битрикс очень хорошее решение. Если у вас что-то криво, то в 99% это ваши руки, а битрикс работает нормально.
Для быстрой и качественной развертки интернет магазина он подходит очень даже хорошо.
И зачем писать что-то с 0, лучше взять готовое
Ну я сам, если честно не в восторге, но что поделать, не я выбираю технологии. В принципе, он не так плох, каким кажется, есть что и по хуже - джумла, например, но все же не лучшее решение, я соглашусь.
Что вы накинулись на человека? он с 0 пишет все необходимые функции и составляет подробную документацию по API своего продукта, чтобы любой желающий смог внести изменения и доработки
В чем причина сказать не могу, это вам лучше на форуме битрикса вопрос задать.
А решить проблему можно заменив одну из корзин на свой компонет (список товаров, сумма и количество очень просто можно получить)
из-за того что с 12 (по-моему) версии в компоненте корзины битрикса вынесли пакет функций во внешний файл и вверху делают его include() (без _once) из за этого два одинаковых компонента корзины на одной странице жить нормально не будут.
если он вам так нужны и вверху и внизу, используйте нормальный ajax а не тот что дает битрикс.