[ic] item-options price=1

Ron Phipps 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
  with Vend::Options::Old48.

  If you add this to catalog.cfg (in etc/after.cfg in foundation):

  	OptionsEnable   option_type

  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:

  	OptionsEnable   table:field

  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 mailing list