If I am not mistaken, NIgel's circuit is not necessarily a zero cross detection circuit. It's an AC mains oscillator circuit. It sends out a pulse where 2 pulses = 1/60th of a second. But these pulses are not necessarily at the zero cross. It depends on the base voltage when the transistor turns on. LIke if the transformer steps down the voltage to 5V or something, and the transistor turns on at 1V, then the half cycle might already be well under way and the ZC long gone. I guess you can adjust this by adjusting the base resistor...not so much if you use a FET.
But for triggering TRIACS:
Once the triac is turned on, it will stay on until the next zero crossing. When it reaches the zero crossing it will turn off until triggered again. You can only control when the TRIAC turns on, not when it turns off.
THis means that once you trigger the TRIAC at ZC, you can then control it in one of two ways:
-continue to send the pulse for as long as you want it on throughout all halfcycles. The TRIAC will automatically go off at the end of the half cycle but since the pulse is still being sent it will automatically turn back on again at the ZC. When you want it off, remove the pulse and it will turn off at the next ZC
-pulse it at every zc that you want it on for.