0

まだマジェントコーディングを学んでいます。Magentoにロードしたページのコレクション内のすべての値を印刷できる方法はあるのだろうか? これは、使用されているコレクションの名前がわからないことを前提としています。

可能であれば、これは非常に役立ちます。

4

2 に答える 2

6

まず、警告の言葉 - コレクションを var_dump している場合、特定のリクエストに対してロードされたすべてのコレクションは言うまでもなく、問題に遭遇する可能性が最も高いです - コレクションには膨大な量のデータが含まれています。

これを行うために必要な各コレクションから正確に必要なものは何ですか?

とにかく、頭に浮かぶこのデータを取得する唯一の方法は、購読しているオブザーバーを使用することです。

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 に答える