The Versatility of the NB_Store
I recently was asked to do an e-commerce website for a Music Library. The Music Library consists of downloadable songs. Each song also has a demo version, with the equivalent of a watermark on it, and this demo version MUST be able to be played with EACH song in the music catalog. There is also a logical grouping of the songs, for example you can buy a full mix, 60 second, or 30 second piece of the same song, and so they must be logically grouped together and displayed as a single song with multiple downloadable configurations. These different mixes are used for different advertising type commercials, and they need to be logically grouped together and presented as a group on the web page.
Because there was a demo that was required, I did not think that I could use a standard e-commerce store with the standard picture of the product, options, and a buy button. I started looking at the NB Store. After some initial research, I was able to use it for this application with the following general Statements:
Here are the details of what I did to make this work.
Each of the 14 catalog pages has the following module layout:
I did the same thing for search function that I did for the music catalog. The SQL is a little bit different as I am using the search tag, and using “OR” logic on the appropriate NB_Store catalog fields.
I was very happy with the way that this turned out. I wrote this for a few reasons, first to share what I did, and the versatility of the NB_Store, and second, to solicit feedback to see if perhaps there was a better way to have done this...
The development time to complete this was minimal, on the order of a few evenings playing around..... The website is http://rcbmusiclibrary.com.
Thanks for reading this, and I look forward to hearing your feedback.......
I recently was asked to do an e-commerce website for a Music Library. The Music Library consists of downloadable songs. Each song also has a demo version, with the equivalent of a watermark on it, and this demo version MUST be able to be played with EACH song in the music catalog. There is also a logical grouping of the songs, for example you can buy a full mix, 60 second, or 30 second piece of the same song, and so they must be logically grouped together and displayed as a single song with multiple downloadable configurations. These different mixes are used for different advertising type commercials, and they need to be logically grouped together and presented as a group on the web page.
Because there was a demo that was required, I did not think that I could use a standard e-commerce store with the standard picture of the product, options, and a buy button. I started looking at the NB Store. After some initial research, I was able to use it for this application with the following general Statements:
-
All date entry for each song is done exclusively through the NB_Store backend. I do custom reads directly to the database, BUT NO WRITES.
-
To view the data in the catalog, rather than using the standard NB_STORE_PRODUCTS module, I used an HTML Module with an iframe to the custom ASP code I wrote to display the products. I had to do this to preserve the custom groupings, as well as display the demo player.
-
I made several modifications to the templates. For example, each Music Library Catalog page has an NB_Store_Products module on it,. The productlist.template is COMPLETELY BLANK, and the productdetail.template is slightly modified. I also had to change the column and rows layout to avoid any excessive white spaces when the store has a lot of products.
- PRODUCT REF - This field was used as a way to link the products together. For example the main product (parent product) has a whole number, and the related products (child products) have the same whole number, and a dash “-” and then an ordered sub number. A Bundle, will always have “-999” since the bundle requires special handling, and it does not have a demo song associated with it.
- MANUFACTURER - This is the composer/author of the song.
- SUMMARY - This is the version of the song. i.e. Full Mix, 30 second, 60 second
-
TAG WORDS - This is holding the name of the demo song that will be played by pushing the button on the web site.
Here are the details of what I did to make this work.
Each of the 14 catalog pages has the following module layout:
-
NB_Store_ProductList Module - This is the standard module with the configuration below:
a. The “List Template” and the “Alternating Template” have a modified productlist.template file that is COMPLETELY BLANK
b. The “Detail Template” is modified to accommodate some visual display changes.
c. “Page Size” and “Columns” set to 999 so that we don’t have any extra white space when the specific catalog gets bigger. -
Text/HTML Module - This module has the individual catalog page logo and description, as well as links to the other pages.
-
Text/HTML Module - This module has an IFRAME to my custom display module. This is the code that reads the NB_Store tables, and displays the data in the format that works for this application. It does its own pagination based on a configurable parameter. The Buy Link is nothing more that a link to the same page that has the product specific information that will be displayed within the NB_Store_ProductList module using the custom template.
I did the same thing for search function that I did for the music catalog. The SQL is a little bit different as I am using the search tag, and using “OR” logic on the appropriate NB_Store catalog fields.
I was very happy with the way that this turned out. I wrote this for a few reasons, first to share what I did, and the versatility of the NB_Store, and second, to solicit feedback to see if perhaps there was a better way to have done this...
The development time to complete this was minimal, on the order of a few evenings playing around..... The website is http://rcbmusiclibrary.com.
Thanks for reading this, and I look forward to hearing your feedback.......