Products
Access, create, update and delete the products in your online catalogue.
Methods
Invoke via \Components\Commerce\Products::method()
Click a method name to copy it.
Returns the raw rows dbGetAll() would return as an iterator, without building them all into an array
The dbGetAll() counterpart of getAllIterable(), for scans over every stored row of a large table (eg: the site-wide content scans in \Framework\Developer\Refactoring). Rows are as stored - JSON fields are not decoded - and are not entity-cached. Because it bypasses getAll(), components that override getAll() are iterated; search queries and components overriding dbGetAll() are refused.
Parameters:
- $arrOrderOptionsPost
mixed
Returns all the columns this component supports
Gets a record from the database
Parameters:
- $iProductId
int unsigned
A record's product_id
Return a set of records from the database
Return all soft deleted records in the database.
Returns all products for a given category and brand
Returns all products for a given category and brand
Returns the entities getAll() would return as an iterator, without building them all into an array
For result sets too large to hold as arrays (eg: every recipient of a marketing send) - only the database driver's compact buffer of the result is held, a fraction of getAll()'s memory. Runs the same SQL as getAll(), and runs it now, as getAll() would; rows are decoded as you iterate.
Search queries are not supported, rows are not entity-cached, and components that override getAll() or dbGetAll() (eg: merging in defaults) are refused rather than iterated without their extra rows.
Returns a single column of an entity
Parameters:
- $iProductId
int unsigned
A record's product_id
Parameters:
- $iProductId
int unsigned
A record's product_id
Returns the number of records in the database (matching the filter if specified)
Returns the number of products in a category and brand
Returns product count given category and brand
Deletes a record from the database
Parameters:
- $iProductId
int unsigned
A record's product_id
Return
Returns true if record existed and was deleted, otherwise false
Retrieves a product from its page URI and applies any posted order options
Retrieves a product from its page URI
Returns a record, regardless of whether or not it has been deleted
Parameters:
- $iProductId
int unsigned
A record's product_id
Returns a formatted label for an option value
Returns the text reason why a product is unorderable
Whether a product may be bought for a related contact rather than the purchaser.
Reads the raw row: the altered get() re-runs the tax and discount pass on every call, and storefront pages ask this several times per render.
Renders the price of a product
Renders any extra pricing information such as discounts or payment method hooks
Resolves who a storefront order line is for. The posted contact is only honoured when the product allows someone-else orders AND the contact is in the purchaser's relationships - the storefront only ever offers those, so anything else is a tampered POST and falls back to the purchaser. Guests yield null - deliberately without the tracking-cookie fallback - so callers fall through to the contact their flow creates.
Parameters:
- $iPostedContactId
mixed
Saves a record into the database
Saves a specific column of a row into a database
Parameters:
- $iProductId
int unsigned
A record's product_id