For lab scenarios (or when you are just being cheap) some switches can be convinced to allow non-Cisco SFPs to work using the following IOS commands:
service unsupported-transceiver
no errdisable detect cause gbic-invalid
errdisable recovery cause gbic-invalid
As usual, your mileage may vary.
Useful command, as Cisco charge a hefty premium for their SFPs.