Yogyakarta is a popular shopping destination for domestic tourists in Indonesia. It's well known as a center for batik production. Malioboro Street is the city's main shopping district, and it's lined with batik boutiques, shops and stalls. Despite the number of shops, you'll be hard pressed to find anything other than batik here.
One of Yogyakarta's oldest shopping malls is also on Malioboro. It does have shops selling goods other than batik, as well as a supermarket and a few fast food restaurants. There are a couple of good local coffee shops on the second floor.
Further down Malioboro Street, just before reaching the Vredeburg Fort, is the Beringharjo market. The massive market sells just about everything. Closest to Malioboro it's mostly clothes, but if you work your way back to the farther reaches, you'll find a large section selling traditional medicine and spices.
Away from Malioboro, the old city area of Kota Gede is dotted with silver shops. Prices and quality are not that good, in my opinion.