This is the API docs for LemonStand V1, which has been discontinued. LemonStand is now a cloud based platform, available at lemonstand.com.

LemonStand API

Shop_OrderStatus class

Defined in /modules/shop/models/shop_orderstatus.php, lines 35-501
Inheritance Phpr_Extension » Phpr_Extensible » Phpr_Validatable » Db_Base » Db_WhereBase » Db_SqlBase » Db_ActiveRecord » Shop_OrderStatus
Author LemonStand eCommerce Inc.
Represents a status of an order. Usually you don't need to access the order status class properties directly. The Shop_Order class has hidden status fields which can be accessed through the displayField() method of the order object. It is preferable to use this method instead of accessing the $status order's property directly because of the performance considerations. There are 2 status-related fields which you can load from an order object with displayField() method:
  • status – status name.
  • status_color – status color.
Example:
Order status:
<span style="color: <?= $order->displayField('status_color') ?>">
  <?= $order->displayField('status') ?>
</span>
Use Shop_OrderStatusLog::create_record() method for changing orders' current status.

Public properties

Show inherited properties.

Property Type Description Defined By
auto_create_timestamps array a list of create timestamp columns. Db_ActiveRecord
auto_timestamps boolean determines whether create and update timestamp field should be set automatically. Db_ActiveRecord
auto_update_timestamps array a list of update timestamp columns. Db_ActiveRecord
calculated_columns array contains a list of calculated columns. Db_ActiveRecord
code string specifies the status API code. Shop_OrderStatus
color string specifies the status color in HEX format (#9acd32). Shop_OrderStatus
custom_columns array contains a list of custom fields definition. Db_ActiveRecord
fetched array contains an associative array of table column values fetched from the database. Db_ActiveRecord
has_one array contains a list of Has One relations. Db_ActiveRecord
id integer specifies the status record identifier. Shop_OrderStatus
name string specifies the status name. Shop_OrderStatus
notify_customer boolean determines whether a customer should be notified when an order enters this status. Shop_OrderStatus
notify_recipient boolean determines whether LemonStand users responsible for processing orders with this status should be notified when an order enters this status. Shop_OrderStatus
primary_key string specifies a name of the table primary key. Db_ActiveRecord
validation Phpr_Validation contains the model's validation object. Db_ActiveRecord

Public methods

Show inherited methods.

Method Description Defined By
add_form_custom_area() adds a form custom area. Db_ActiveRecord
add_form_field() makes a column visible in forms. Db_ActiveRecord
add_form_partial() adds a custom form partial. Db_ActiveRecord
add_form_section() adds a form section. Db_ActiveRecord
after_create() called after a new object is saved to the database. Db_ActiveRecord
after_create_saved() called after a new object is saved to the database. Db_ActiveRecord
after_modify() called after an existing or new record was modified. Db_ActiveRecord
after_save() called after an existing or new record is created or updated in the database. Db_ActiveRecord
after_update() called after an existing record is updated in the database. Db_ActiveRecord
after_validation() triggered after the model column values are validated. Db_ActiveRecord
after_validation_on_create() triggered after a new model column values are validated. Db_ActiveRecord
after_validation_on_update() triggered after an existing model column values are validated. Db_ActiveRecord
before_create() called before a new object is saved to the database. Db_ActiveRecord
before_save() called before an existing or new record is created or updated in the database. Db_ActiveRecord
before_update() called before an existing record is updated in the database. Db_ActiveRecord
before_validation() triggered before the model column values are validated. Db_ActiveRecord
before_validation_on_create() triggered before a new model column values are validated. Db_ActiveRecord
before_validation_on_update() triggered before an existing model column values are validated. Db_ActiveRecord
collection() executes the find_all() method and returns a collection. Db_ActiveRecord
columnValue() alias for the displayField() method. Db_ActiveRecord
define_column() adds a column definition to the model. Db_ActiveRecord
define_multi_relation_column() adds column definition for has_and_belongs_to_many or has_many relation field. Db_ActiveRecord
define_relation_column() adds column definition for has_on or belongs_to relation field. Db_ActiveRecord
delete() deletes the record from the database. Db_ActiveRecord
delete_form_field() deletes a form field by its corresponding column name. Db_ActiveRecord
displayField() returns a formatted column value. The field should be defined with define_column(), Db_ActiveRecord
find() finds a record by its primary key value. Db_ActiveRecord
find_all() finds all records and returns the Db_DataCollection object, containing a list of models. Db_ActiveRecord
find_by() finds a record by a field value. Db_ActiveRecord
find_column_definition() finds a column definition by the column name. Db_ActiveRecord
find_form_field() finds a form field definition by its corresponding column name. Db_ActiveRecord
get_by_code() returns a status object by its API code. Shop_OrderStatus
join() adds a table to the query with JOIN statement. Db_SqlBase
limit() allows to limit the result of the find_all() method with the specified number of records. Db_ActiveRecord
list_related_records_deferred() returns a list of relation objects, taking into account deferred relations. Db_ActiveRecord
order() allows to order the result of the find_all() method by a specific table column. Db_SqlBase
orWhere() adds OR statement to the where clause, allowing to to limit the result of the find() and find_all() methods with SQL filter. Db_WhereBase
paginate() allows to limit the result of the find_all() method with a single page of records. Db_ActiveRecord
requestRowCount() returns a number of rows which would be returned with find_all() method. Db_ActiveRecord
save() saves record to the database. Db_ActiveRecord
where() allows to limit the result of the find() and find_all() methods with SQL filter. Db_WhereBase

Events

Event Description
shop:onBeforeOrderCustomerStatusMessageSent Allows to cancel the customer notification when an order changes its status.
shop:onBeforeOrderInternalStatusMessageSent Allows to cancel the internal user notification when an order changes its status.
shop:onExtendOrderStatusForm Allows to add new fields to the Create/Edit Order Status form in the Administration Area.
shop:onExtendOrderStatusModel Allows to define new columns in the order status model.
shop:onGetOrderStatusFieldOptions Allows to populate drop-down, radio- or checkbox list fields, which have been added with shop:onExtendOrderStatusForm event.
shop:onGetOrderStatusFieldState Determines whether a custom radio button or checkbox list option is checked.

Property details

code property

public string $code;
Specifies the status API code.

color property

public string $color;
Specifies the status color in HEX format (#9acd32). This field can be used for customize the order list on the Customer Orders page.

id property

public integer $id;
Specifies the status record identifier.

name property

public string $name;
Specifies the status name.

notify_customer property

public boolean $notify_customer;
Determines whether a customer should be notified when an order enters this status.

notify_recipient property

public boolean $notify_recipient;
Determines whether LemonStand users responsible for processing orders with this status should be notified when an order enters this status.

Method details

get_by_code() method

public static Shop_OrderStatus get_by_code(string $code)
$code string specifies the status API code.
{return} Shop_OrderStatus returns the order status object. Returns NULL if the status is not found.
Returns a status object by its API code.