![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-wishlist/Block/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Wishlist\Block; use Magento\Catalog\Api\Data\ProductTypeInterface; use Magento\Catalog\Api\ProductTypeListInterface; use Magento\Framework\App\ObjectManager; use Magento\Framework\View\Element\Template; use Magento\Framework\View\Element\Template\Context; /** * Wishlist js plugin initialization block * * @api * @since 100.1.0 */ class AddToWishlist extends Template { /** * Product types * * @var array|null */ private $productTypes; /** * @var ProductTypeListInterface */ private $productTypeList; /** * AddToWishlist constructor. * * @param Context $context * @param array $data * @param ProductTypeListInterface|null $productTypeList */ public function __construct( Context $context, array $data = [], ?ProductTypeListInterface $productTypeList = null ) { parent::__construct($context, $data); $this->productTypes = []; $this->productTypeList = $productTypeList ?: ObjectManager::getInstance()->get(ProductTypeListInterface::class); } /** * Returns wishlist widget options * * @return array * @since 100.1.0 */ public function getWishlistOptions() { return ['productType' => $this->getProductTypes()]; } /** * Returns an array of product types * * @return array */ private function getProductTypes(): array { if (count($this->productTypes) === 0) { /** @var ProductTypeInterface productTypes */ $this->productTypes = array_map(function ($productType) { return $productType->getName(); }, $this->productTypeList->getProductTypes()); } return $this->productTypes; } }