# HG changeset patch # User Paul Boddie # Date 1224373812 -7200 # Node ID d6afd34dcf01d015eaf389b6240dbc0ff047a700 # Parent e8f9cf2c63e259ba22dd3ac3a285f2aac5064745 Expanded submenus for pages representing categories. Simplified the CSS identifiers. Introduced a link to the current category. diff -r e8f9cf2c63e2 -r d6afd34dcf01 macros/CategoryMenu.py --- a/macros/CategoryMenu.py Sun Oct 19 01:20:23 2008 +0200 +++ b/macros/CategoryMenu.py Sun Oct 19 01:50:12 2008 +0200 @@ -99,7 +99,8 @@ categories = getCategoryMapping(getCategories(request), request) # Generate a menu with the categories, together with expanded submenus for - # the categories employed by the current page or as requested in the macro + # the categories employed by the current page, the category represented by + # the current page, or for those categories specified in the macro # arguments. output = [] @@ -110,14 +111,22 @@ pages_in_category = getPages(category_pagename, request) pagenames_in_category = [p.page_name for p in pages_in_category] + page_is_category = page.page_name == category_pagename # Generate the submenu where appropriate. if selected_category_names and category_name in selected_category_names or \ - not selected_category_names and page.page_name in pagenames_in_category: + not selected_category_names and ( + page_is_category or page.page_name in pagenames_in_category): - output.append(fmt.listitem(on=1, attr={"class" : "category-menu-item-selected"})) - output.append(fmt.text(category_name)) + if page_is_category: + output.append(fmt.listitem(on=1, attr={"class" : "selected current"})) + output.append(fmt.text(category_name)) + else: + output.append(fmt.listitem(on=1, attr={"class" : "selected"})) + output.append(fmt.pagelink(on=1, pagename=category_pagename)) + output.append(fmt.text(category_name)) + output.append(fmt.pagelink(on=0, pagename=category_pagename)) output.append(fmt.bullet_list(on=1, attr={"class" : "category-submenu"})) @@ -127,7 +136,7 @@ pagename = page_in_category.page_name if page.page_name == pagename: - output.append(fmt.listitem(on=1, attr={"class" : "category-submenu-item-selected"})) + output.append(fmt.listitem(on=1, attr={"class" : "selected"})) else: output.append(fmt.listitem(on=1)) output.append(fmt.pagelink(on=1, pagename=pagename)) @@ -141,7 +150,7 @@ # Otherwise generate a simple link. else: - output.append(fmt.listitem(on=1, attr={"class" : "category-menu-item"})) + output.append(fmt.listitem(on=1)) output.append(fmt.pagelink(on=1, pagename=category_pagename)) output.append(fmt.text(category_name)) output.append(fmt.pagelink(on=0, pagename=category_pagename))