CiaoFor someone to "have a soft spot in his heart for" something or someone is, to me at least, entirely positive and approving, without even that slight tinge of negativity that goes with "a weakness."
Yes, that's exactly correct, even though the phrase "sentimental weakness" is never used as an idiom. I respectfully disagree with Pallinapa. If you say "Ho un debole per i chierichetti," it has an extraordinarily different meaning! "Debole" is an appropriate translation in some contexts. But for instance, it's very different to say, "I have a soft spot in my heart for Beethoven," and, "I have a weakness for Beethoven." While it's possible that both are true for a person, they are not the same thing at all.
I'd say "Ho un debole per (le poesie di) Max Tosi".Yes, but you would never say, "Ha una cotta per Max Tosi" (unless you were his girlfriend). No How would you say, "I have a soft spot in my heart for [the poetry of] Max Tosi?" [not for Max Tosi as a man]