我想在我自己的模块中显示caregory图像,所以我创建了一个模块和frontend/templates/category-section.phtml,这是代码,我的问题是源图像是空的,它在我的模块中返回null创建页面,所有其他类似的属性都可以正常工作
我在管理面板中上传了图像,当我单击 a 标签时,它会正确返回带有图像的类别页面,但仅在我显示类别和图像中,图像未显示
此处的图像未显示
如果我点击任何一个,URL 和图像都存在于此处,但在新模块中则不存在
<?php echo $category->getName() ?>
<section class="section-holder">
<div class="all-categories">
<p class='category-text'>categories</p>
<div class='categories-flex'>
<?php
$categoryHelper = $this->helper('Magento\Catalog\Helper\Category');
$outputhelper = $this->helper('Magento\Catalog\Helper\Output');
foreach ($categoryHelper->getStoreCategories() as $category) :
?>
<a href="<?php echo $categoryHelper->getCategoryUrl($category) ?>">
<div class='child-category'>
<div>
<img style="background-image: url('<?= $category->getImageUrl(); ?>');" alt="">
</div>
<p> <?php echo $category->getName() ?></p>
</div>
</a>
<?php
endforeach;
?>
</div>
</div>
</section>
方法
getStoreCategories不会加载类别的图像。它仅加载活动模块的catalog_attributes.xml文件中声明的属性。您可以尝试通过在自己的模块中创建此文件来将图像属性添加到此列表
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="image"/> </group> </config>完成后清除缓存。