The main design parameters (at least on a conceptual level) for solar cells are the band gap energy and the minority carrier diffusion length. The former determines at which point in the solar spectrum the semiconductor starts absorbing light, the latter determine how far minority carriers diffuse before recombining. The goal of a solar cell is to have the photogenerated minority carriers cross the junction before they recombine.

Direct band gap materials have strong optical transitions between the valence and conduction band. However indirect materials have fairly weak optical transitions. This is because absorption and emission of a photon must occur with the simultaneous absorption or emission of a phonon (thus conversing momentum).

If you compare the design of a GaAs (direct material) solar cell to a Si (indirect material) then you will find that Silicon cells are much thicker: on the order of hundreds of microns. This is done to compensate for much weaker absorption. Moreover, because Silicon is a poor absorber of light, simply having a greater thickness means that you can absorb nearly all of incoming photons.

On the surface this answers your questions. However there is another level of detail. 

Considering only optical properties, it is clearly advantageous to have a thick active layer. However, if you made a GaAs or Silicon solar cell much thicker the efficiency, counterintuitively, would **decrease!** This is because of the minority carrier diffusion length.

The minority diffusion length of carriers in Silicon is very long, mean carriers can move hundreds of microns before spontaneously recombining. This it is possible to get a good balance of optical generation and carrier collection with a thick active layer.

However, the minority carrier diffusion length in GaAs is very short, on the order of tens of microns. By good fortune, GaAs has a large absorption coefficient and so cells only have to be several microns thick to achieve a good balance between absorption and carrier collection.

In summary, it's all about balancing optical absorption, by changing thickness, and carrier collection, by making sure the thickness is smaller than the minority carrier diffusion length. Provided you can achieve this balance you can make solar cells from direct or indirect materials.