Php Magento观察者不做太多观察
这是我的第一个模块,所以我想会有错误。但是我被困住了,我认为stack overflow社区的智能可以提供帮助 本质上,我希望我的模块侦听目录搜索索引更新事件,并在此基础上执行一些代码 因此,我告诉magento在中识别我的模块: app/etc/modules/Nate\u SearchToFind.xmlPhp Magento观察者不做太多观察,php,model-view-controller,magento,observer-pattern,mage,Php,Model View Controller,Magento,Observer Pattern,Mage,这是我的第一个模块,所以我想会有错误。但是我被困住了,我认为stack overflow社区的智能可以提供帮助 本质上,我希望我的模块侦听目录搜索索引更新事件,并在此基础上执行一些代码 因此,我告诉magento在中识别我的模块: app/etc/modules/Nate\u SearchToFind.xml <?xml version="1.0"?> <config> <modules> <Nate_SearchToFind&g
<?xml version="1.0"?>
<config>
<modules>
<Nate_SearchToFind>
<active>true</active>
<codePool>local</codePool>
</Nate_SearchToFind>
</modules>
</config>
<?xml version="1.0"?>
<config>
<global>
<models>
<natesearchtofindbundle>
<class>Nate_SearchToFind_Bundle_Model</class>
</natesearchtofindbundle>
</models>
<events>
<catalogindex_plain_reindex_after>
<observers>
<Nate_SearchToFind_Observer>
<type>singleton</type>
<class>Nate_SearchToFind_Bundle_Model_Observer</class>
<method>beautify_search</method>
</Nate_SearchToFind_Observer>
</observers>
</catalogindex_plain_reindex_after>
</events>
</global>
</config>
符合事实的
地方的
然后进入:app/local/Nate/SearchToFind/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<Nate_SearchToFind>
<active>true</active>
<codePool>local</codePool>
</Nate_SearchToFind>
</modules>
</config>
<?xml version="1.0"?>
<config>
<global>
<models>
<natesearchtofindbundle>
<class>Nate_SearchToFind_Bundle_Model</class>
</natesearchtofindbundle>
</models>
<events>
<catalogindex_plain_reindex_after>
<observers>
<Nate_SearchToFind_Observer>
<type>singleton</type>
<class>Nate_SearchToFind_Bundle_Model_Observer</class>
<method>beautify_search</method>
</Nate_SearchToFind_Observer>
</observers>
</catalogindex_plain_reindex_after>
</events>
</global>
</config>
Nate_SearchToFind_Bundle_模型
独生子女
Nate_SearchToFind_Bundle_Model_Observer
美化搜索
然后进入:app/code/local/Nate/SearchToFind/Model/Observer.php
<?php
class Nate_SearchToFind_Bundle_Model_Observer
{
public function __construct()
{
}
public function beautify_search($observer)
{
//perform function operations here
}
}
您的观察者类名错误。它应该是PHP类文件和XML Observer部分中的Nate\u SearchToFind\u Model\u Observer
Zend框架中的类名遵循目录结构。您试图使用的类前缀,Nate\u SearchToFind\u Bundle\u Model
,实际上是指app/code/{core,local,community}/Nate/SearchToFind/Bundle/Model
中的文件。它需要更改为Nate\u SearchToFind\u Model
,以反映您当前的目录结构
您还定义了类前缀,但没有使用它。例如,observer部分的
部分可以读取natesearchtofindbundle/observer
,假设前缀与目录结构对齐,则会映射到Nate\u SearchToFind\u Model\u observer
。您的observer类名错误。它应该是PHP类文件和XML Observer部分中的Nate\u SearchToFind\u Model\u Observer
Zend框架中的类名遵循目录结构。您试图使用的类前缀,Nate\u SearchToFind\u Bundle\u Model
,实际上是指app/code/{core,local,community}/Nate/SearchToFind/Bundle/Model
中的文件。它需要更改为Nate\u SearchToFind\u Model
,以反映您当前的目录结构
您还定义了类前缀,但没有使用它。例如,observer部分的
部分可以读取natesearchtofindbundle/observer
,假设您将前缀与目录结构对齐,它将映射到Nate\u SearchToFind\u Model\u observer