В этой статье будет немного критики, немного советов, немного исходников и много размышлений о вечном: “Зачем разработчики сделали так?”

И так. Все видели свеженький opencart 2.0. Мне очень хотелось, чтобы там было адекватное уведомление о том, что товар положили в корзину, но этого так и не случилось. Мне кажется, что минусы подобного уведомления очевидны, но я все же их перечислю:

  1. Мне, как клиенту, это очень неприятно, т.к. я не люблю когда кто-то двигает экраном против моей воли.
  2. Возможно клиент хотел еще что-то посмотреть, но съехавший экран как бы намекает – бери товар и проваливай
  3. Клиент мог читать описание товара или характеристики в то время, когда нажал на кнопку. И как Вы думаете? Он пойдет искать то место, на котором остановился или пойдет искать то, место которое не двигает его экран вверх.

И вот я, как и многие другие, жалуюсь на это и ничего не предпринимаю – подумаете Вы. А вот и нет. Я переделал этот механизм так, как мне удобно и делюсь им со всеми. Кто знает… может в следующей версии мой код добавят.

Первое, что нам надо сделать – это поправить файл /catalog/view/javascript/common.js

Заменим в нем строки:

Заметьте в этом файле несколько одинаковых строк. Заменить нужно все!

Далее правим стили. Тут все просто. Добавляем в конец файла со стилями (/catalog/view/theme/default/stylesheet/stylesheet.css) следующий текст:

Теперь обновляем страницу с товаром/товарами и нажимаем кнопку “Купить”. У нас выезжает уведомление сверху и при этом не смешает экран. Профит!