- In addition to the core Ubercart modules, enable the optional core modules "Product attributes" and "Roles."
- In Admin > Store admin > Products > Manage classes, create a new product class called "Magazine1."
- In Admin > Store admin > Attributes > Attributes, create a "Magazine1 subscription type" attribute with options for subscription lengths and prices. For instance:
1-year subscription $25.00
2-year subscription $45.00
3-year subscription $60.00
Sample Issue $6.00
- In Admin > User management > Roles, create a role for each subscription length:
Magazine1 subscriber 1 yr
Magazine1 subscriber 2 yr
Magazine1 subscriber 3 yr
- In Admin > Create content, create a new magazine1 product node. In the tabs:
- Attributes: Add the "Magazine1 subscription type" attribute
- Options: Select the attribute options
- Adjustments: Add a unique SKU for each option
- Features: Here's where you'll assign a role to each of the options. For example:
- SKU: choose the SKU for the 1-year subscription
- Role: choose "Magazine1 subscriber 1 yr"
- Expiration: choose "Override the default ending expiration." End "Relative from activiation time." Adjust the time to 1 year
- Shippable: Yes
- Multiply by quantity: No
This method assigns the customer an expirable role depending on the subscription they purchase and creates a nice dropdown on the magazine product node: