I'm trying to develop a module to create a log for each product visited by a user. To generate a log, I'm using event observer. But the event never is called.
What could be wrong? My code: C:\Users\miudo\AppData\Local\Temp\scp44107\home\sr\localhos.t\app\code\local\Bit\Itemsviewed\Model\Observer.php
<?php
class Bit_Itemsviewed_Model_Observer
{
public function saveProductVisitHistory(Varien_Event_Observer $observer) {
$event = $observer->getEvent();
Mage::log('id ' . $observer->getEvent()->getProduct()->getId() , null, 'custom.log');
return $this;
}
}
C:\Users\miudo\AppData\Local\Temp\scp47708\home\sr\localhos.t\app\code\local\Bit\Itemsviewed\etc\Config.xml
<?xml version="1.0"?>
<config>
<modules>
<Bit_Itemsviewed>
<version>0.1.0</version>
</Bit_Itemsviewed>
</modules>
<global>
<helpers>
<itemsviewed>
<class>Bit_Itemsviewed_Helper</class>
</itemsviewed>
</helpers>
<blocks>
<itemsviewed>
<class>Bit_Itemsviewed_Block</class>
</itemsviewed>
</blocks>
<catalog>
<rewrite>
<product_view>Bit_Itemsviewed_Block_Itemsviewed</product_view>
</rewrite>
</catalog>
<models>
<itemsviewed>
<class>Bit_Itemsviewed_Model</class>
</itemsviewed>
</models>
<!--/global>
<frontend-->
<events>
<catalog_controller_product_view>
<observers>
<itemsviewed>
<type>model</type>
<class>bit_itemsviewed/observer</class>
<method>saveProductVisitHistory</method>
</itemsviewed>
</observers>
</catalog_controller_product_view>
</events>
</global>
</config>
C:\Users\miudo\AppData\Local\Temp\scp57676\home\sr\localhos.t\app\code\local\Bit\Itemsviewed\Helper\Data.php
<?php
class Bit_Itemsviewed_Helper_Data extends Mage_Core_Helper_Abstract{
}
C:\Users\miudo\AppData\Local\Temp\scp48515\home\sr\localhos.t\app\code\local\Bit\Itemsviewed\Block\Itemsviewed.php
<?php
class Bit_Itemsviewed_Block_Itemsviewed extends Mage_Catalog_Block_Product_View{
}
Thanks
EDITED: I had been trying to use
<itemsviewed>
<type>model</type> also <singleton>
<class>itemsviewed/observer</class> also <class> Bit_Itemsviewed_Model_Observer </class>
[...]
</itemsviewed>