![]() 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/magefan/module-blog/Block/Adminhtml/Grid/Column/Render/ |
<?php /** * Copyright © Magefan ([email protected]). All rights reserved. * Please visit Magefan.com for license details (https://magefan.com/end-user-license-agreement). * * Glory to Ukraine! Glory to the heroes! */ namespace Magefan\Blog\Block\Adminhtml\Grid\Column\Render; /** * Category column renderer */ class Category extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\AbstractRenderer { /** * @var \Magefan\Blog\Model\CategoryFactory */ protected $categoryFactory; /** * @var array */ protected static $categories = []; /** * @param \Magento\Backend\Block\Context $context * @param \Magefan\Blog\Model\CategoryFactory $localeLists * @param array $data */ public function __construct( \Magento\Backend\Block\Context $context, \Magefan\Blog\Model\CategoryFactory $categoryFactory, array $data = [] ) { parent::__construct($context, $data); $this->categoryFactory = $categoryFactory; } /** * Render category grid column * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { if ($data = $row->getData($this->getColumn()->getIndex())) { $titles = []; foreach ($data as $id) { $title = $this->getCategoryById($id)->getTitle(); if ($title) { $titles[] = $title; } } return implode(', ', $titles); } return null; } /** * Retrieve category by id * * @param int $id * @return \Magefan\Blog\Model\Category */ protected function getCategoryById($id) { if (!isset(self::$categories[$id])) { self::$categories[$id] = $this->categoryFactory->create()->load($id); } return self::$categories[$id]; } }