Как вы знаете, MAgento имеет 2 версии поля НДС в основной записи клиента.
TAXVAT и VAT_ID (второе — это поле в атрибутах адреса пользователя)
Я хочу создать наблюдателя для копирования TAXVAT в VAT_ID каждый раз, когда я сохраняю клиента, и TAXVAT не является пустым.
Код выглядит так:
Config.xml:
<config>
<modules>
<Fontis_Customer>
<version>1.0</version>
</Fontis_Customer>
</modules>
<global>
<events>
<customer_save_before>
<observers>
<fontis_customer_save_observer>
<type>singleton</type>
<class>Fontis_Customer_Model_Customer_Observer</class>
<method>customer_save_before</method>
</fontis_customer_save_observer>
</observers>
</customer_save_before>
</events>
</global>
И это наблюдатель: наблюдатель.php:
<?php
class Fontis_Customer_Model_Customer_Observer extends Mage_Core_Model_Abstract
{
/*
* observer for the customer saved event
*/
public function customer_save_before( $observer )
{
try {
$customer = $observer->getCustomer();
if( $customer->getData('taxvat') !== '' ) {
$customer->setData( 'vat_id', $customer->getData('taxvat') ); // Copy taxvat into vat_id
} else {}
} catch ( Exception $e ) {
Mage::log( "customer_save_before observer failed: " . $e->getMessage() );
}
}
}
?>
Не могли бы вы помочь? Заранее большое спасибо.
Задача ещё не решена.
Других решений пока нет …