[ic] item-options price=1
rphipps at reliant-solutions.com
Wed Nov 19 17:56:19 EST 2003
> From: Mike Heins
> Quoting Bill Carr (bill at worldwideimpact.com):
> > IC 4.9.9
> > [item-options price=1] returns some options even if those options do
> > contain any pricing information.
> > On a results page I would like to say:
> > [either][item-options price=1][or][item-price][/either]
> > How can I make [item-options price=1] only return something if those
> > options have some pricing information? I only want to do this
> > I think I would like something like:
> > [item-options price=1 do_not_return_without_prices=1]
> You may not know (not many except me probably know, in fact) can
> new Vend::Options types in IC just like you can Vend::Payment types.
> copy lib/Vend/Options/Simple.pm to lib/Vend/Options/MyOptions.pm, hack
> on it (making the package name correct, mostly) then do in
> Options MyOptions enable 1
> Once that is done, you can set the option_type to MyOptions in
> the products table and hack on the display routine all you
> want without affecting the normal options.
> Mike Heins
> Perusion -- Expert Interchange Consulting http://www.perusion.com/
> phone +1.765.647.1295 <mike at perusion.com>
Here is the CVS log entry for those that are interested. It's a pretty
cool feature which extends access to the Option core code without
breaking the existing option types.
* Major update to product options.
* Options are now modular in much the same way as Vend::Payment is.
You can add an unlimited number of option types simply by dropping
a module into Vend::Options.
* By default, the old 4.8 style options are in force, implemented
If you add this to catalog.cfg (in etc/after.cfg in foundation):
The "option_type" names a field in the products file which controls
the option type. This enables new-style options.
It can also be in a specific table and field, ala AutoModifier:
Indeed, this is added to AutoModifer after catalog.cfg.
* There are two new-style options included:
These are equivalent to the current matrix and simple options.
* Options behavior is controlled in catalog.cfg by a locale-style
multiple hash (ala UserDb or Route):
Options Matrix sort o_sort,o_group
Options Matrix variant_table my_variants
* To find and add a new option type, simply set something in
Options MyOptions table my_options
That will cause a require of Vend::Options::MyOptions.
* The matrix products have been moved to the "variants" table.
* The options table contains options for both Matrix and Simple types,
but only fields for building those simple-type options (which are
used to generate variants for Matrix). The followign fields
have been removed from options:
* The variants table is a subset of the fields in products.
* The admin page for each option style is defined in its
admin_page routine, usually an include from
* size and color fields removed from products table, option_type added.
More information about the interchange-users