Thanks a lot for a quick and good answer. The spaces in my template didn't look like this i posted here but after I did like you said it works :) Thanks a lot!
Didn't really know that spaces and quotes was that important...
Spaces are irrelevant, but the quotes around = are necessary, and they can be either single or double quotes, as long as they match.
You should technically quote all keys in a hash, since they are supposed to be strings. PHP and the eZ publish template language automatically convert identifiers that start with an alphabetical character to a string. This behaviour promotes sloppy coding, but it's easy so nobody complains about it.
In the case of the = character, which is not alphabetic, this conversion is not done automaticallay, that's why you have to quote it. The manual specifies all functions with quoted identifiers, by the way. Like fetch('content', 'list', etc.), this is how it should be done. Read the manual!
Spaces are irrelevant when used between the parameters of a template operator, but they shouldn't be used between a template operator and it's opening parenthesis.
Not right:
fetch ( ... )
Right:
fetch( ... )
This rule is also valid for <i>hash</i> and <i>array</i> (they are template operators too), as you can see in post 1 and 2 of this topic.