我添加了一个自定义模块,用于为类别页面添加额外的描述。它显示在Admin中,但无法显示在类别前端页面上。我可能不了解childtheme继承结构。
我在这里阅读并尝试了每篇文章,但是没有一篇文章提供我需要的确切信息。
我尝试添加app / code / MyCompany / CategoryAttribute / view / frontend / templates / myCustomFile.phtml和CategoryAttribute / view / frontend / layout / catalog_category_view.xml 以及app / design / frontend / MyCompany / Luma_child
希望在首页上看到我的自定义类别文本,但事实并非如此。没有错误显示。
答案 0 :(得分:0)
经过大量研究,我自己能够解决问题。因此,为以后我自己参考或对遇到同样问题的任何人提供帮助:
构建一个模块,以使用this guide.
将自定义字段添加到类别中然后,要在类别列表页面上的前端显示值,请按照下列步骤操作:
1)在模块的“视图”文件夹(应用程序/代码/ YourName / YourModule /视图)中,创建一个名为“ frontend”的文件夹
2)在此文件夹中,我们还需要两个文件夹:“布局”和“模板”
3)在“布局”中,创建一个名为“ catalog_category_view.xml”的文件,并添加以下代码:
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="content">
<block class="Magento\Framework\View\Element\Template" name="YourModule" template="YourName_YourModule::products.phtml" />
</referenceContainer>
</body>
</page>
4)在“模板”中创建一个名为“ products.phtml”的文件并添加代码:
<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$category = $objectManager->get('Magento\Framework\Registry')->registry('current_category');//get current category
echo $category->getCustomCategoryField(); ?>
确保通过SSH应用所有更改。如果未显示,请尝试清除浏览器缓存。