Switch to side-by-side view

--- a/Allura/allura/lib/macro.py
+++ b/Allura/allura/lib/macro.py
@@ -138,6 +138,8 @@
     from allura.lib.widgets.project_list import ProjectList
     from allura.lib import utils
     from allura import model as M
+    # 'trove' is internal substitution for 'category' filter in wiki macro
+    trove = category
     limit = int(limit)
     q = dict(
         neighborhood_id=c.project.neighborhood_id,
@@ -146,8 +148,8 @@
     if labels:
         or_labels = labels.split('|')
         q['$or'] = [{'labels': {'$all': l.split(',')}} for l in or_labels]
-    if category is not None:
-        category = M.ProjectCategory.query.get(name=category)
+    if trove is not None:
+        trove = M.TroveCategory.query.get(fullpath=trove)
     if award:
         aw = M.Award.query.find(dict(
             created_by_neighborhood_id=c.project.neighborhood_id,
@@ -157,8 +159,8 @@
                 M.AwardGrant.query.find(dict(
                     granted_by_neighborhood_id=c.project.neighborhood_id,
                     award_id=aw._id))]}
-    if category is not None:
-        q['category_id'] = category._id
+    if trove is not None:
+        q['trove_' + trove.type] = trove._id
     sort_key, sort_dir = 'last_updated', pymongo.DESCENDING
     if sort == 'alpha':
         sort_key, sort_dir = 'name', pymongo.ASCENDING