* @link https://www.oxidmodule.com */ declare(strict_types=1); namespace D3\ManufacturerInformation\Modules\Application\Model; use OxidEsales\Eshop\Application\Model\Manufacturer; use OxidEsales\Eshop\Core\Field; use OxidEsales\Eshop\Core\Registry; use OxidEsales\Eshop\Core\UtilsView; use OxidEsales\EshopCommunity\Internal\Container\ContainerFactory; use OxidEsales\EshopCommunity\Internal\Framework\Module\Facade\ModuleSettingService; use OxidEsales\EshopCommunity\Internal\Framework\Module\Facade\ModuleSettingServiceInterface; use OxidEsales\EshopCommunity\Internal\Framework\Templating\TemplateRendererBridgeInterface; use OxidEsales\EshopCommunity\Internal\Framework\Templating\TemplateRendererInterface; class ManufacturerInfoList extends ManufacturerInfoList_parent { /** * @param Manufacturer|D3ManufacturerLongDesc $oManufacturer * @return void */ protected function addCategoryFields($oManufacturer): void { parent::addCategoryFields($oManufacturer); /** @var ModuleSettingService $setting */ $setting = ContainerFactory::getInstance()->getContainer()->get(ModuleSettingServiceInterface::class); if ($setting->getBoolean('d3manufacturerinformation_showManufacturertextOnManufacturerPage', 'd3manufacturerinformation')) { /** @var UtilsView $oUtilsView */ $oUtilsView = Registry::getUtilsView(); $longdesc = $oManufacturer->d3GetLongdesc( )->getRawValue() ?? ''; $deactivateSmarty = Registry::getConfig()->getConfigParam('deactivateSmartyForCmsContent'); $processLongDescriptions = Registry::getConfig()->getConfigParam('bl_perfParseLongDescinSmarty'); if (!$deactivateSmarty && $processLongDescriptions) { $longdesc = $this->getRenderer()->renderFragment( $longdesc, $oManufacturer->getId() . $oManufacturer->getLanguage(), [], true ) ?? ''; } $oManufacturer->oxcategories__oxlongdesc = new Field(html_entity_decode($longdesc), Field::T_RAW); } } private function getRenderer(): TemplateRendererInterface { return $this->getContainer()->get(TemplateRendererBridgeInterface::class)->getTemplateRenderer(); } }