There's lots of techniques for growing plants... Many people here use the low tech method... You can just buy a liquid fertiliser (flourish comprehensive) and make sure you have adequate lighting... Many plants will do well.
Personally, I use soil substrate tanks. There's a link here.
Soil substrate tanks need a bit more light, but need minimal filtration. (My tanks have none at all.)
As for the substrate... It's a matter of preference.
If you want something cheap, look for 3M Colorquartz. It's a small aggregate used in lining swimming pools and flooring... It's completely safe for fish, plants, and inverts though. Hard to find and takes a lot of washing in warm water to get the dust out... Other than that, it's perfect and comes in several colors.
You can also use play sand from a home improvement store, but try to find a dark color for the fish's sake. (Or, I suppose you could just use play sand and add black sand on top...)