Skip to content

SilinMykola/magento-likes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Реализация модуля Magento который позволяет пользователям ставить "Like" товарам на Frontend. Выполнено во время прохождения стажировки в Go Top (апрель 2017)

  1. Рядом с изображением товара на страницах Category View, Product view отображается кнопка "Like" и число - количество "Лайков".
  2. При нажатии на кнопку "лайк" сохраняется в отдельную таблицу magedoc_product_like. В таблице храните customer_ip, customer_id, product_id, created_at.
  3. Общее кол-во лайков товара хранится в отдельной таблице magedoc_product_like_aggregate: product_id, store_id, like_count.
  4. При добавлении лайка идет проверка, что бы один и тот же пользователь (или гость с одного и того же IP) не мог "лайкнуть" один и тот де товар дважды. Гости с одного и того же IP могут лайкать товар не чаще раза в сутки. Если пользователь или гость не может добавить лайк, то кнопка добавления не активна. После добавления лайка кнопка становится не активной.
  5. Добавлен виджет отображения продуктов с наибольшим количеством лайков. Виджет настраивается через админку, можно выбрать категории по которым отображать лайки. Если текущая категория не выбрана в настройках виджета, то отображаются продукты с наибольшими лайками по всем категориям магазина.
  6. Добавлен грид для отображения лайков в админке. Поля: id записи, id магазина, название продукта, IP адрес покупателя, имя покупателя. Имя покупателя составное (Full Name). Если лайк ставил гость, то Full Name отображается Guest.

Для реализации проделано:

  1. Задана конфигурация модуля.
  2. Реализован sql_setup (при дальнейших изменениях добавил update).
  3. Реализованы Модели + Контроллер.
  4. Реализован вывод на frontend (layout updates). Добавлен блок в main product info block.
  5. Реализована возможность загрузки модели из БД по двум полям и более. Для этого переопределен метод _getLoadSelect класса Mage_Core_Model_Resource_Db_Abstract, принимающий в качестве параметра массив.
  6. Добавлен отдельный стиль для отображения лайков.
  7. Добавлен Observer, который добавляет количество лайков продуктов в колекцию. (Для отображения лайков в каталоге товаров).
  8. Для отображения лайков в админке реализован грид, добавлен пункт в меню. Добавлено к гриду составное поле из First name и Last Name каждого Customer, поставившего лайк. Если поля пустые, то отображается Guest.
  9. Реализован поиск по составному полю Full Name.
  10. Реализован базовый перевод виджета, грида, блока.

About

My studying Magento

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published