LemonStand Documentation

shop:onExtendCustomerModel event

This event allows you to define new fields in the customer model. You can download a module template extending the customer model in Module Templates documentation section. The event handler should accept two parameters - the customer object (Shop_Customer) and the form execution context string. To add new columns to the customer model, please call the define_column() method of the customer object. Before you add new columns to the customer model, you should add them to the database (the shop_customers table). Please read the Extending existing models article to learn more about extending the customer model.

Example of the event handler:

public function subscribeEvents()
{
   Backend::$events->addEvent('shop:onExtendCustomerModel', $this, 'extend_customer_model');
   Backend::$events->addEvent('shop:onExtendCustomerForm', $this, 'extend_customer_form');
}

public function extend_customer_model($customer, $context)
{
   $customer->define_column('x_extra_description', 'Extra description');
}

public function extend_customer_form($customer, $context)
{
   $customer->add_form_field('x_extra_description')->tab('Customer');
}

Next: shop:onExtendCustomerForm event
Previous: Handling LemonStand events
Return to Handling LemonStand events