Skip to content
ms3Favorites
ms3Favorites
Wishlists for MiniShop3 and other resources — browser storage, DB sync
  1. Extras
  2. ms3Favorites

ms3Favorites

ms3Favorites adds wishlists for MiniShop3 products and other resource types (resources, articles, pages, custom). Users save products for later. The list is stored in the browser (localStorage or cookie), with optional DB sync for logged-in users and guests (when guest_db_enabled).

v3.0.0: resource_type for all entity kinds, mode="list" (hide whole card on remove), mxQuickView and mFilter integration, guest rows in DB, popularity snippet, JS callbacks, Add to cart from the wishlist page.

Wishlist page (ms3FavoritesPage): outputs tabs and shell only; cards are rendered by favorites.js. There is no embedded pdoPage in the snippet — use ms3FavoritesIds + pdoPage on a separate view if you need server pagination (see ms3FavoritesPage).

Naming: user-facing — ms3Favorites; in code (folders, snippets, lexicon) — ms3favorites.

Features

  • Wishlist block — output by list of IDs (AJAX via connector or server-side snippet)
  • Browser storagelocalStorage (default) or cookie, no registration
  • DB sync — for logged-in users: on login, data from localStorage is moved to the DB
  • Guests in DB — when guest_db_enabled, guest list is stored by session_id
  • Multiple listsdefault, gifts, plans, etc. (up to max_lists)
  • List sharing — public link /wishlist/share?token=xxx, copy someone else’s list
  • Page /wishlist/ — shell from ms3FavoritesPage, cards filled by JS; server tab counts and ms3f.total; pagination is a separate chain (ms3FavoritesIds + pdoPage)
  • Cart integration — “Add all to cart”, “Add selected”
  • Popularity — “In N users’ wishlists”
  • Resource typesproducts, resources, articles, pages, custom
  • Localization — MODX Lexicon (ru, en), frontend snippet ms3fLexiconScript
  • Customization — Fenom chunks, BEM classes (prefix ms3f), CSS variables
  • Catalog row — chunk tplCatalogRowMs3f for a favorites button in each pdoPage + msProducts row (integration)
  • Notifications — chain: optional ms3fConfig.notifywindow.ms3Message.show (MiniShop3) → iziToast (lazy-loaded from assets/components/ms3favorites/vendor/izitoast/, base URL in ms3fConfig.iziToastBaseUrl from ms3fLexiconScript). The ms3favorites.use_minishop3_toast system setting is removed — see Integration

System requirements

RequirementVersion
MODX Revolution3.0+
PHP8.1+
MySQL5.7+ / MariaDB 10.3+

Dependencies

  • MiniShop3 — products and categories
  • pdoTools 3.0.0+ — for snippets (pdoPage, Fenom)

Installation

See Quick start for requirements and ModStore steps.

Via ModStore

  1. Connect ModStore repository
  2. Go to Extras → Installer and click Download Extras
  3. Ensure MiniShop3 and pdoTools are installed
  4. Find ms3Favorites, click Download, then Install
  5. Settings → Clear cache

Package is available at modstore.pro.

After installation

Load lexicon, CSS and JS on the site, add the button on the product card and output the wishlist block.

See: Quick start and Frontend setup.

Terms

TermDescription
WishlistList of favorite products (default list is default)
SyncMoving the list from localStorage to the DB when the user logs in
SharingPublic link to a list by token
PopularityNumber of users who added the resource to their wishlist