Interchange6::Schema::Result::Product
products
The products table contains three product types parent, child and single.
Parent Product A parent product is a container product in which variations of parent product or "child products" are linked.
Child Product A child product for example "Acme Pro 10lb Dumbbell" would include the canonical_sku of the parent item whose description might be something like "Acme Pro Dumbbell". In general a child product would contain attributes while a parent product would not.
Single Product A single product does not have child products and will become a parent product if a child product exists.
data_type: 'varchar' is_nullable: 0 size: 64
data_type: 'varchar' is_nullable: 0 size: 255
data_type: 'varchar' default_value: (empty string) is_nullable: 0 size: 500
data_type: 'text' is_nullable: 0
data_type: 'numeric' default_value: 0.0 is_nullable: 0 size: [10,2]
Unique product uri. Example "acme-pro-dumbbells".
data_type: 'varchar' is_nullable: 1 size: 255
Display order priority.
data_type: 'integer' default_value: 0 is_nullable: 0
EAN or UPC type data.
data_type: 'varchar' is_nullable: 1 size: 32
The SKU of the main product if this product is a variant of a main product, otherwise NULL.
data_type: 'varchar' is_nullable: 1 size: 64
data_type: 'boolean' default_value: 1 is_nullable: 0
data_type: 'boolean' default_value: 0 is_nullable: 0
data_type: 'datetime' set_on_create: 1 is_nullable: 0
data_type: 'datetime' set_on_create: 1 set_on_update: 1 is_nullable: 0
Attribute methods are provided by the Interchange6::Schema::Base::Attribute class.
Produces navigation path for this product. Returns array reference in scalar context.
Uses $type to select specific taxonomy from navigation if present.
Find product variant with the given attribute values in $input.
Returns variant in case of success.
Returns undef in case of failure.
You can pass an optional hash reference \%match_info which is filled with attribute matches (only valid in case of failure).
hashref => 1
Return a hashref of attributes keyed on attribute name instead of an arrayref.
selected => $sku
Set the 'selected' SKU. For a child product this is set automatically.
For canonical products, it shows all the attributes of the child products.
For a child product, it shows all the attributes of the siblings.
Example of returned arrayref:
[ { attribute_values => [ { priority => 2, selected => 0, title => "Pink", value => "pink" }, { priority => 1, selected => 0, title => "Yellow", value => "yellow" } ], name => "color", priority => 2, title => "Color" }, { attribute_values => [ { priority => 2, selected => 0, title => "Small", value => "small" }, { priority => 1, selected => 0, title => "Medium", value => "medium" }, ], name => "size", priority => 1, title => "Size" } ]
Add variants from a list of hash references.
Returns product object.
Each hash reference contains attributes and column data which overrides data from the canonical product.
The canonical sku of the variant is automatically set.
Example for the hash reference (attributes in the first line):
{color => 'yellow', size => 'small', sku => 'G0001-YELLOW-S', name => 'Six Small Yellow Tulips', uri => 'six-small-yellow-tulips'}
"sku"
products_gtin
"gtin"
products_uri
"uri"
Type: belongs_to
Related object: Interchange6::Schema::Result::Product
Type: has_many
Related object: Interchange6::Schema::Result::CartProduct
Related object: Interchange6::Schema::Result::GroupPricing
Type: might_have
Related object: Interchange6::Schema::Result::Inventory
Related object: Interchange6::Schema::Result::MediaProduct
Related object: Interchange6::Schema::Result::MerchandisingProduct
Related object: Interchange6::Schema::Result::NavigationProduct
Related object: Interchange6::Schema::Result::Orderline
Related object: Interchange6::Schema::Result::ProductAttribute
Type: many_to_many with media
Related object: Interchange6::Schema::Result::ProductReview
This is considered a private method. Please see public "product_reviews" method.
Type: many_to_many
This is considered a private method. Accessor to related Message results. Please see public "reviews" and "add_to_reviews" methods.
Return a Media resultset with the related media, filtered by type (e.g. video or image). On the results you can call display_uri("type") to get the actual uri.
display_uri("type")
Reviews should only be associated with parent products. This method returns the related ProductReview records for a parent product. For a child product the ProductReview records for the parent are returned.
Reviews should only be associated with parent products. This method returns the related Message (reviews) records for a parent product. For a child product the Message records for the parent are returned.
Similar to "set_$rel" in DBIx::Class::Relationship::Base except that this method DOES delete objects in the table on the right side of the relation.
Overload delete to force removal of any product reviews. Only parent products should have reviews so in the case of child products no attempt is made to delete reviews.
To install Interchange6::Schema, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Interchange6::Schema
CPAN shell
perl -MCPAN -e shell install Interchange6::Schema
For more information on module installation, please visit the detailed CPAN module installation guide.