0

还在学习magento编码。我想知道有没有办法可以在我加载到 magento 的任何页面上打印出集合中的所有值?这是假设我不知道正在使用的集合的名称。

如果可能的话,这将非常有帮助。

4

2 回答 2

6

首先,警告 - 如果您正在 var_dump'ing 集合,更不用说为给定请求加载的每个集合,那么您很可能会遇到问题 - 集合包含大量数据。

您需要从每个集合中执行此操作的确切要求是什么?

无论如何,获得这些数据的唯一方法是使用订阅的观察者:

core_collection_abstract_load_after

所以作为一个开始...

您的 config.xml 看起来与此类似...

<?xml version="1.0"?>
<config>
    <modules>
        <YourCompany_YourModule>
            <version>1.0.0</version>
        </YourCompany_YourModule>
    </modules>
    <frontend>
        <events>
            <core_collection_abstract_load_after>
                <observers>
                    <yourmodule>
                        <class>YourCompany_YourModule_Model_Observer</class>
                        <method>core_collection_abstract_load_after</method>
                    </yourmodule>
                </observers>
            </core_collection_abstract_load_after>
        </events>
    </frontend>
    <global>
        <models>
            <yourmodule>
                <class>YourCompany_YourModule_Model</class>
            </yourmodule>
        </models>
    </global>
</config>

你的观察者看起来像这样......

<?php

class YourCompany_YourModule_Model_Observer
{
    public function core_collection_abstract_load_after(Varien_Event_Observer $observer)
    {
        $collection = $observer->getEvent()->getCollection();
        //Do what you want with each collection here
    }
}
于 2012-06-18T16:50:21.767 回答
1

一个更简单的方法,如果你是 Magento 的新手,我建议使用这个:

因为它将提供对内部工作的其他见解以及有关实际集合的集合和 SQL 信息。

实际操作中的视图:

于 2012-06-18T19:30:00.473 回答