Repository navigation
Conversation
Catalog\Block\Product\Context and Catalog\Helper\Product\Compare took Magento\Wishlist\Helper\Data as a typed constructor argument, and five Catalog and CatalogWidget templates called that helper directly. Without module-wishlist, setup:di:compile fails for Magento_Catalog. Add Magento\Catalog\Helper\Wishlist\AddToWishlistInterface with the two methods Catalog uses (isAllow() and getAddParams()). Catalog binds it to NullAddToWishlist. Wishlist\Helper\Data implements it and Magento_Wishlist binds the interface to that helper, so with Wishlist installed Context::getWishlistHelper() still returns the wishlist helper itself. Code relying on its other methods keeps working. The templates now call $block->isAddToWishlistAllowed(), a new AbstractProduct method, and $block->getAddToWishlistParams(). The legacy product/listing.phtml now also checks isAddToWishlistAllowed() before rendering its "Add to Wish List" link, like the other templates. Catalog's and CatalogWidget's composer.json drop magento/module-wishlist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Magento_Reports required magento/module-wishlist. Its wish list report collection extends Magento\Wishlist\Model\ResourceModel\Item\Collection, so setup:di:compile fails for Magento_Reports without module-wishlist, and its recently viewed/compared widget templates called the Wishlist helper directly. Add Magento_WishlistReports, which depends on both modules, and move into it: - the wishlist_add_product and wishlist_share observers that write the Reports event log, with their unit tests - the "Product Added To WishList" and "Share WishList" report settings and their defaults, at the same config paths - the deprecated admin wish list report block, its grid, template and the two report collections Reports keeps the two event types in its data patch, the Event constants and the ReportStatus config path map: they're plain values, and keeping them means existing installs need no new data patch. The widget templates now use $block->isAddToWishlistAllowed() from the Catalog AbstractProduct block. Reports' composer.json drops magento/module-wishlist, and the root composer.json replaces the new package. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 1, 2026
The Reports\Block\Adminhtml\Wishlist block, its grid, template and the two Reports\Model\ResourceModel\Wishlist collections aren't reached from any controller, menu entry or layout, and obsolete_classes.php has listed the block as removed since 2.0. Drop them from Magento_WishlistReports, which now only holds the event log observers and their settings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description (*)
Builds on #396: the first two commits are #396's.
Reports' wish list report collection extends a Wishlist class, so
setup:di:compilefails without Wishlist. Part of the series that makes Magento_Wishlist removable (#286, #287).wishlist_add_productandwishlist_shareevent log observers, and their two settings (same config paths), into a new bridge module, Magento_WishlistReports, which depends on Reports and Wishlist.obsolete_classes.phphas listed the block as removed since 2.0.The event types, constants and
ReportStatusmap stay in Reports, so existing installs need no new data patch. The widget templates useisAddToWishlistAllowed()from #396, and Reports drops the require.Related Pull Requests
#395, #396, #397, #398, #399
Manual testing scenarios (*)
Questions or comments
magento/module-wishlist-reports.Contribution checklist (*)
🤖 Generated with Claude Code