## Script (Python) "getDisplayParams" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters=format=None, sort_by=None, direction=None, columns=None, items_per_page=None, nav_action=None, nb_items=None, filter=None, detail_tab_columns=None ##title= ## # $Id: academicsDisplayParams.py 486 2006-09-06 10:09:39Z joachim $ """Return params for display_content macro """ from Products.CPSUtil.session import sessionGet cps_pref = sessionGet(context.REQUEST, 'cps_display_params', {}) def_params = context.getAcademicsDisplayParams() params = def_params if format: params['format'] = format else: params['format'] = cps_pref.get('format') or def_params['format'] if sort_by: params['sort_by'] = sort_by else: params['sort_by'] = cps_pref.get('sort_by') or def_params['sort_by'] if direction: params['direction'] = direction else: params['direction'] = cps_pref.get('direction') or def_params['direction'] if nav_action: params['nav_action'] = nav_action if columns: params['columns'] = columns else: fmt = params['format'] if fmt == 'icon': col = 4 params['items_per_page'] = 12 elif fmt == 'compact': col = 2 elif fmt == 'detail': col = 1 elif fmt == 'detail_tab': col = 1 elif fmt == 'one_column': col = 1 else: col = 1 params['columns'] = col if items_per_page: params['items_per_page'] = items_per_page params['items_per_page'] = min(nb_items, params['items_per_page']) if filter is not None: params['filter'] = filter else: params['filter'] = def_params['filter'] if detail_tab_columns: params['detail_tab_columns'] = detail_tab_columns else: params['detail_tab_columns'] = def_params['detail_tab_columns'] return params