From: francoise <fc...@gm...> - 2009-07-28 07:00:26
|
Hello, My site has many Zope pages templates, Zope folders and also Plone pages, Plone folders. This create problems for the navigation menu and also for translation but I can't rewrite all the site now. The query_string is used to pass parameters to Zope pages : http://myssite/teams?id=14&tab=members My problem is that Plone Language Tool and LinguaPlone "loose" the query_string parameters when switching language. I found the following workarounds though it could get me into troubles but I am really bothered by the query_string parameters lost. 1. Plone Language Tool I customized switchLanguage.py in the ZMI replaced : qst="?" for k, v in query.items(): by : qst="?" reqreferer = REQUEST['HTTP_REFERER'].split('?') if len(reqreferer) > 1: for p in reqreferer[-1].split("&"): if (p.find('set_language') == -1) and (p.find('cl=') == -1): qst += p + "&" for k, v in query.items(): 2. LinguaPlone I modified LinguaPlone/browser/selector.py replaced : try: data['url'] = state.view_url() + '?set_language=' + data['code'] except AttributeError: by : try: # Rebuild query_string qst = "" if self.request is not None and self.request.form is not None: form = self.request.form for k,v in form.items(): if k != "-C" and k != "set_language": # Empty forms qst += "&%s=%s" % (k,v) elif self.request is not None and self.request['HTTP_REFERER'] is not None: reqreferer = self.request['HTTP_REFERER'].split('?') if len(reqreferer) > 1: for p in reqreferer[-1].split("&"): if (p.find('set_language') == -1) and (p.find('cl=') == -1): qst += "&" + p data['url'] = state.view_url() + '?set_language=' + data['code'] + qst except AttributeError: Regards -- View this message in context: http://n2.nabble.com/query_string--parameters-when-switching-language-tp3339774p3339774.html Sent from the Internationalization mailing list archive at Nabble.com. |