还在学习magento编码。我想知道有没有办法可以在我加载到 magento 的任何页面上打印出集合中的所有值?这是假设我不知道正在使用的集合的名称。
如果可能的话,这将非常有帮助。
首先,警告 - 如果您正在 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
}
}
一个更简单的方法,如果你是 Magento 的新手,我建议使用这个:
因为它将提供对内部工作的其他见解以及有关实际集合的集合和 SQL 信息。
实际操作中的视图: