The past tense of have a weakness for is had a weakness for.
The third-person singular simple present indicative form of have a weakness for is has a weakness for.
The present participle of have a weakness for is having a weakness for.
The past participle of have a weakness for is had a weakness for.