Magento 2商店中,启用心愿单功能对于提高客户购物体验至关重要。它不仅可以鼓励客户购买他们最喜欢的商品,还为商店管理员提供了了解客户购买兴趣和趋势的机会。本文将向介绍在Magento 2中获取心愿单产品集合的三个简单步骤,以帮助更好地管理心愿单功能。

第一步:创建WishlistProducts块。

7.jpg

为了获取心愿单产品集合,首先需要创建一个名为"WishlistProducts"的块。可以按照以下路径创建并添加以下代码:

app/code/Example/Productslider/Block/WishlistProducts.php

php

Copy code

<?php

namespace Example\Productslider\Block;

use Magento\Catalog\Block\Product\Context;

use Magento\Catalog\Model\Product\Visibility;

use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;

use Magento\Framework\App\Http\Context as HttpContext;

use Magento\Framework\Stdlib\DateTime\DateTime;

use Magento\Wishlist\Model\ResourceModel\Item\CollectionFactory as WishlistCollectionFactory;

use Example\Productslider\Helper\Data;

 

class WishlistProducts extends AbstractSlider

{

    protected $_wishlistCollectionFactory;

 

    public function __construct(

        Context $context,

        CollectionFactory $productCollectionFactory,

        Visibility $catalogProductVisibility,

        DateTime $dateTime,

        Data $helperData,

        HttpContext $httpContext,

        WishlistCollectionFactory $wishlistCollectionFactory,

        array $data = []

    ) {

        $this->_wishlistCollectionFactory = $wishlistCollectionFactory;

        parent::__construct($context, $productCollectionFactory, $catalogProductVisibility, $dateTime, $helperData, $httpContext, $data);

    }

 

    public function getProductCollection()

    {

        $collection = [];

        if ($this->_customer->isLoggedIn()) {

            $wishlist = $this->_wishlistCollectionFactory->create()

                ->addCustomerIdFilter($this->_customer->getCustomerId());

            $productIds = null;

            foreach ($wishlist as $product) {

                $productIds[] = $product->getProductId();

            }

            $collection = $this->_productCollectionFactory->create()->addIdFilter($productIds);

            $collection = $this->_addProductAttributesAndPrices($collection)->addStoreFilter($this->getStoreId())->setPageSize($this->getProductsCount());

        }

        return $collection;

    }

}

第二步:插入phtml文件。

在成功创建WishlistProducts块后,现在可以将产品集合插入到phtml文件中,这是将在前端显示产品的地方。将以下代码添加到phtml文件中(例如:list.phtml):

php

Copy code

<?php

$collection = $block->getProductCollection();

foreach ($collection as $_product) {

    echo $product->getName() . ' - ' . $product->getProductUrl() . '<br />';

}

第三步:刷新缓存和测试结果。

完成以上两个步骤后,最后一步是刷新Magento 2的缓存,以确保新的块和phtml文件被加载。然后,可以在前端测试结果,看看心愿单产品集合是否正常显示在网站上。

通过这三个简单的步骤,可以成功地在Magento 2中获取并显示心愿单产品集合。这有助于提醒客户他们想要的商品,同时也为提供了有关客户购买偏好的重要信息。这对于提高销售和客户满意度非常有帮助。

(本文内容根据网络资料整理,出于传递更多信息之目的,不代表连连国际赞同其观点和立场。)