Try to change the route to:
show_collection:
url: /:module/:action/:collection
class: sfDoctrineRoute
options: { model: Category, type: object }
param: { module: collection, action: showcollection }
and use
url_for('@show_collection?collection='.$collection->getName());