Heat 3 tablespoons of olive oil in large pan over medium high heat. Add yellow and red onion. Stir to coat in hot oil, then saute until golden brown, only stirring to avoid burning. Stir in garlic and allow to cook for a few more minutes.
Add spinach, parsley, and salt. If pan isn't big enough, you can add it in batches until it cooks down and makes more room. Cook until all spinach is wilted. Transfer everything to a wire mesh sieve or colander and let it cool. Any liquid that drains off can be discarded.
Once the spinach mixture is fully cool and any additional liquid has been pressed out, transfer to a large bowl. Combine with the eggs, ricotta, and feta cheese and stir to combine.
Preheat oven to 350 degrees F. To bake, you will need a 9x9 baking dish.
Unroll phyllo dough. Cut the dough in half so that it fits in the pan better. Use damp towels or paper towels below and on top of the dough to prevent it from drying out. Using the remaining 1/4 cup of olive oil and a pastry brush, coat the bottom of the baking dish with oil.
Add a couple sheets of dough and then add a thin layer of olive oil. Continue layering the dough and the olive oil until about half the dough has been used. Allow the dough to go up the sides of the pan. Once half the dough has been laid down, spoon all of the spinach layer onto the base layer of the dough and spread it out evenly.
Top the spinach layer with two pieces of dough at a time, brushing with a thin layer of olive oil after every two layers. Once all of the dough has been used, fold any over hanging dough over and tuck down into the sides of the pan.
Pre-cut the squares with a sharp paring knife prior to baking. Bake in preheated oven until golden and crispy, about 30-40 minutes. Serve warm.