Magento 2.3在. php文件中获得自定义类别属性



我已经创建了一个自定义类别属性title_description,并显示在管理方面,我可以保存数据。但是当我尝试使用getTitleDescription()在前端显示值时,它没有显示任何东西。它适用于默认类别属性,如getName()getId()。在我的代码块中,我创建了函数

public function getCurrentCategory()
{
$currentCategory = $this->registry->registry('current_category');
return $currentCategory;
}

在。php文件中我调用

$block->getCurrentCategory()->getTitleDescription()

它在我使用类别集合并循环它的其他页面上工作。但在调用单个类别

时不起作用

你可以将你的自定义属性添加到Magento的属性列表中,它会在加载类别时默认加载。

在模块的etc文件夹中创建一个名为catalog_attributes.xml的文件。

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Catalog:etc/catalog_attributes.xsd">
<group name="catalog_category">
<attribute name="title_description"/>
</group>
</config>

请注意,该组名为catalog_category,它是自动加载属性的组。这个文件还可以做其他事情,您可以在这里了解。

您也可以尝试添加

public function getTitleDesc()
{            
return $this->getCustomAttribute('title_description');            
}

,然后调用该函数。注意,在调用缓存之前,应该先刷新缓存。

相关内容

  • 没有找到相关文章

最新更新