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_ProductType class

Defined in /modules/shop/models/shop_producttype.php, lines 21-240
Inheritance Phpr_Extension » Phpr_Extensible » Phpr_Validatable » Db_Base » Db_WhereBase » Db_SqlBase » Db_ActiveRecord » Shop_ProductType
Author LemonStand eCommerce Inc.
Represents a product type. By default LemonStand creates a few predefined product types: Downloadable, Goods, Service. Objects of this method are available through Shop_Product::$product_type property.

See Also

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
belongs_to array contains a list of Belongs To Many relations. Db_ActiveRecord
calculated_columns array contains a list of calculated columns. Db_ActiveRecord
code string specifies the product type API code. Shop_ProductType
custom_columns array contains a list of custom fields definition. Db_ActiveRecord
extras boolean determines whether products of this type support product options. Shop_ProductType
fetched array contains an associative array of table column values fetched from the database. Db_ActiveRecord
files boolean determines whether products of this type support files. Shop_ProductType
grouped boolean determines whether products of this type support grouped products. Shop_ProductType
has_and_belongs_to_many array contains a list of Has and Belongs To Many relations. Db_ActiveRecord
has_many array contains a list of Has Many relations. Db_ActiveRecord
has_one array contains a list of Has One relations. Db_ActiveRecord
inventory boolean determines whether products of this type support inventory tracking. Shop_ProductType
is_default boolean determines whether the product type is default for new products. Shop_ProductType
name string specifies the product type name. Shop_ProductType
options boolean determines whether products of this type support product options. Shop_ProductType
primary_key string specifies a name of the table primary key. Db_ActiveRecord
shipping boolean determines whether products of this type support shipping. Shop_ProductType
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_delete() called after an existing or new record is deleted from the database. Db_ActiveRecord
after_modify() called after an existing or new record was modified. 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
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:onExtendProductTypeForm Allows to add new fields to the Create/Edit Product Type form in the Administration Area.
shop:onExtendProductTypeModel Allows to define new columns in the product type model.
shop:onGetProductTypeFieldOptions Allows to populate drop-down, radio- or checkbox list fields, which have been added with shop:onExtendProductTypeForm event.

Property details

code property

public string $code;
Specifies the product type API code.

extras property

public boolean $extras;
Determines whether products of this type support product options.

files property

public boolean $files;
Determines whether products of this type support files.

grouped property

public boolean $grouped;
Determines whether products of this type support grouped products.

inventory property

public boolean $inventory;
Determines whether products of this type support inventory tracking.

is_default property

public boolean $is_default;
Determines whether the product type is default for new products.

name property

public string $name;
Specifies the product type name.

options property

public boolean $options;
Determines whether products of this type support product options.

shipping property

public boolean $shipping;
Determines whether products of this type support shipping.