gpt4 book ai didi

magento - 为什么我的自定义 Magento 模块会覆盖整个核心模块并且不产生任何结果?

转载 作者:行者123 更新时间:2023-12-04 06:20:42 25 4
gpt4 key购买 nike

我一直在研究我的第一个 Magento 模块,该模块旨在扩展 Mage_Page_Block_Html_Head 类并更改 getDefaultTitle() 的功能。简单吧?

我在我的模块目录 local/Company/Metadata/Block 目录中创建了一个名为 Title.php 的新文件,在 Title.php 中是以下代码:

<?php
class Company_Metadata_Block_Title extends Mage_Page_Block_Html_Head
{

}

我什至还没有开始调整 getDefaultTitle() 的功能,而且我似乎已经错过了这条船。

当我上传新模块时,它会覆盖由 Mage_Page_Block_Html_Head 创建的页面的整个 Head 内容,最后我的 Html 中的 head 标签为空。像这样:
<head></head>

我哪里错了? Title.php 中的上述代码(或缺少)不应该让扩展类做这件事,直到被告知这样做?

这是我的模块配置文件:
<config>

<modules>
<Company_Metadata>
<version>0.0.1</version>
</Company_Metadata>
</modules>

<global>
<blocks>
<page>
<rewrite>
<html_head>Company_Metadata_Block_Title</html_head>
</rewrite>
</page>
</blocks>
</global>

</config>

最佳答案

我的猜测是您必须在 config.xml 中声明您的 block 类。事实上,Magento 知道您想要覆盖 Head 但没有找到要使用的 Block 类。

请尝试使用此 config.xml :

<modules>
<Company_Metadata>
<version>0.0.1</version>
</Company_Metadata>
</modules>

<global>
<blocks>


<metadata>
<class>Company_Metadata_Block</class>
</metadata>


<page>
<rewrite>
<html_head>Company_Metadata_Block_Title</html_head>
</rewrite>
</page>
</blocks>
</global>

关于magento - 为什么我的自定义 Magento 模块会覆盖整个核心模块并且不产生任何结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6613092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com