![]() 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; /** * Author column renderer */ class Author extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\AbstractRenderer { /** * @var \Magefan\Blog\Api\AuthorInterfaceFactory */ protected $authorFactory; /** * @var array */ protected static $authors = []; /** * Author constructor. * @param \Magento\Backend\Block\Context $context * @param \Magefan\Blog\Api\AuthorInterfaceFactory $authorFactory * @param array $data */ public function __construct( \Magento\Backend\Block\Context $context, \Magefan\Blog\Api\AuthorInterfaceFactory $authorFactory, array $data = [] ) { parent::__construct($context, $data); $this->authorFactory = $authorFactory; } /** * Render author grid column * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { if ($id = $row->getData($this->getColumn()->getIndex())) { $title = $this->getAuthorById($id)->getTitle(); if ($title) { return $title; } } return null; } /** * Retrieve author by id * * @param int $id * @return \Magefan\Blog\Model\Author */ protected function getAuthorById($id) { if (!isset(self::$authors[$id])) { self::$authors[$id] = $this->authorFactory->create()->load($id); } return self::$authors[$id]; } }