You can get wishlist collection of a customer by customer id. You can show detail of Customer Wishlist item in a store. Get Wishlist collection by calling Magento\Wishlist\Model\Wishlist Model file.
I have created a Block file for define Wishlist collection and load collection in template file by iterating over a collection loop.
<?php
namespace Rbj\Wishlist\Block;
class Demo extends \Magento\Framework\View\Element\Template
{
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Wishlist\Model\Wishlist $wishlist,
array $data = []
) {
$this->wishlist = $wishlist;
parent::__construct($context,$data);
}
/**
* @param int $customerId
*/
public function getWishlistByCustomerId($customerId)
{
$wishlist = $this->wishlist->loadByCustomerId($customerId)->getItemCollection();
return $wishlist;
}
}
Call function in a template file, If Customer has wishlist item available, display item info otherwise no item found message will be displayed.
<?php
$customerId = 2; //CUSTOMER_ID
$wishlistCollection = $block->getWishlistByCustomerId($customerId);
if(count($wishlistCollection)) {
foreach ($wishlistCollection as $_item) {
echo $_item->getProduct()->getName();echo "<br>";
echo $_item->getProduct()->getId();echo "<br>";
}
} else {
echo __("No Item found in your wishlist");
}
The result will be your Item list from a Wishlist.