My solution to the problem was 24 plastic containers and a high shelf. I bought containers based on how many of each particular toy we had and the size of the toys. I bought nine large plastic boxes and 15 plastic show box containers. I bought big boxes for things like Barbies and Mr. Potato Heads and smaller boxes for thinks like her doctor kit, toy cars and Polly Pockets. It really depends on the size of the toy, for instance she has a ton of Polly Pockets, but they are so little they can fit in a small box. We have far fewer Mr. Potato Heads, but they are much larger so they need a bigger box.
Each box has a label to make it easy to find the toys (You can find the blank version of the label I used at the bottom of the post to download). Since the boxes are so high, my daughter can't get them down by herself which is slightly inconvenient for me, but only slightly. Why only slightly? I never end up with an extremely messy room because we have implemented the rule that there is only one box down at a time, she has to pick up the box she currently has down, if she want another box down. It has worked magically.
I have drawn arrows to everything in the closet. Toys with large pieces that are easy for her to pick up by herself are in the toy organizer on the ground. The pink hamper in the middle is for dirty clothes. The gray bins on the side have her dress-ups in them. Small toys or toys with lots of small pieces are up top on the shelf.
This closet has been one of the best things to happen to our overall organization in our house. It keeps the toys picked up and there has been less fighting over cleaning up.
Here are blank versions of the labels my husband made for the bins. They have cute little lily pads on them.