Get wishlist collection of a customer by customer id Magento 2.

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.

Get Customer Extension Attribute value Magento 2.

Magento 2, Customer module have comes with extension attributes, getVertexCustomerCode( ) and getIsSubscribed( ).

If you have created your customer extension attributes and you want to fetch customer extension attributes value using Customer Object,  You need to first get Customer Object and based on Customer object you can find your custom extension attributes value. Continue reading “Get Customer Extension Attribute value Magento 2.”

How to fetch extension attributes value in Order by REST API Magento 2?

Magento comes with a new design pattern called the service contracts.

A service contract is a set of PHP interfaces used in a module. You can check an interface in any module API folder. Service contracts include service and data interfaces, which hide business logic details.

In Magento 2 You can add extension attributes for Order by creating an extension_attributes.xml file.

Extension attributes are the persistent Attribute so you can’t find extension_attributes values in a database.

Continue reading “How to fetch extension attributes value in Order by REST API Magento 2?”