Hope we are well aware with the new object introduced by Salesforce named "Quote".
Would like to share some inbuilt business logics implemented on opportunity , opportunity line item , quote and quote line item if we are creating custom pages for these.
We have two options when we are creating a opportunity, first is to just create a opportunity and other is to create opportunity and then add products on opportunity. To add product on opportunity as opportunity line item there should be pricebook selected on opportunity first. We have to create a entry of product on pricebook. After that on product selection screen, only those products will be displayed which are active and entered in the pricebook which is selected on the opportunity.
If there is only one pricebook exists on organisation then it gets by default selected when we create a opportunity else when we want to add products it redirects us to the page where we need to select a pricebook first.
Now suppose after creating a opportunity with pricebook "X" selected we create a quote from opportunity, then pricebook "X" gets selected on that quote. Now when we add quote line item (Add Products) it shows all active products which have a entry in pricebook "X".
Other case is when we create a quote from opportunity with no pricebook then pricebook on quote is also null. Now when we add product on Quote it redirect to the page where we have to select the pricebook first. Now after selecting pricebook it shows the product search page where we can select the product which have entry in that pricebook. Also with this the pricebook gets selected on opportunity.
I have not explained the relationship between pricebook , pricebookentry , opportunity and quote. Just be carefull that you handle the above scenario if you are creating custom pages for new opportunity and add product pages.