Php 为什么Magento试图调用Mage名称空间而不是我的自定义名称空间?

Php 为什么Magento试图调用Mage名称空间而不是我的自定义名称空间?,php,magento,Php,Magento,我在自定义名称空间的本地代码文件夹中创建了一个模块。 该块没有显示在前端,在检查异常日志时,发现Magento找错了位置 如果在调用块时排除MyCompany_uuu前缀,也会出现同样的情况;它仍然在Mage名称空间中查找。 我在modules文件夹中有一个名为MyCompany_All.xml的文件,我添加的CMS布局工作正常,因此Magento肯定正在加载它: <?xml version="1.0"?> <config> <modules>

我在自定义名称空间的本地代码文件夹中创建了一个模块。 该块没有显示在前端,在检查异常日志时,发现Magento找错了位置

如果在调用块时排除MyCompany_uuu前缀,也会出现同样的情况;它仍然在Mage名称空间中查找。 我在modules文件夹中有一个名为MyCompany_All.xml的文件,我添加的CMS布局工作正常,因此Magento肯定正在加载它:

<?xml version="1.0"?>
<config>
    <modules>
        <MyCompany_CmsLayouts>
            <codePool>local</codePool>
            <active>true</active>
        </MyCompany_CmsLayouts>
        <MyCompany_ForthcomingProducts>
            <codePool>local</codePool>
            <active>true</active>
        </MyCompany_ForthcomingProducts>
    </modules>
</config>
块的config.xml为:

<?xml version="1.0" encoding="utf-8"?>
    <config>
        <modules>
            <MyCompany_ForthcomingProducts>
                <version>0.9</version>
            </MyCompany_ForthcomingProducts>
        </modules>

        <global>
            <blocks>
                <forthcomingproducts>
                    <class>MyCompany_ForthcomingProducts_Block</class>
                </forthcomingproducts>
            </blocks>
       </global>
    </config>

0.9
MyCompany\u for HComingProducts\u Block

尝试按如下方式调整块声明:

{{block type="forthcomingproducts/list" template="forthcomingproducts/list.phtml"}}
在配置文件中,您为块定义了别名(
forthcomingproducts
),现在您应该遵循它。Magento将根据您的要求将
forthcomingproducts
取消引用为
MyCompany\u forthcomingproducts\u Block
,然后追加大写的类名(
list
),创建类名
MyCompany\u forthcomingproducts\u Block\u list
。当您使用Magento不知道的ALI时(
MyCompany\u ForthcomingProducts
,在您的示例中),假定它是Mage命名空间的一部分

希望有帮助,
Joe

我认为layout.xml或调用此块的代码是相关的查找位置。为了进行诊断,我想看看这个,也许还有相关块的config.xml。非常感谢您的回答,我已经在问题中添加了信息。谢谢Joe!Magento现在已停止抛出异常,因此我假设它已找到模块。有另一个问题,但我会看看我是否可以先解决它!
<?xml version="1.0" encoding="utf-8"?>
    <config>
        <modules>
            <MyCompany_ForthcomingProducts>
                <version>0.9</version>
            </MyCompany_ForthcomingProducts>
        </modules>

        <global>
            <blocks>
                <forthcomingproducts>
                    <class>MyCompany_ForthcomingProducts_Block</class>
                </forthcomingproducts>
            </blocks>
       </global>
    </config>
{{block type="forthcomingproducts/list" template="forthcomingproducts/list.phtml"}}