Hi Jim, seems Dieter is on vacation :), and nobody else has answered Your question (or I missed the reply ...). I guess the question is answered on some FAQ, but I could not find it ... Anyway, I try to give an answer:
Is it possible to have an error page display a different message depending on what happened?
The most flexible solution is to define a python script with name 'standard_error_message' replacing the original error message template, which is moved to 'general_error_message', and called by the script if this could not find a more special error page.
For example, we have a user-friendly page template for the standard_error_message, but it displays the same content for 404 errors and for script errors. Ideally I'd like to be able to say one message for 404 errors, and another for script errors.
[...] The script could look like this: ## Script (Python) "standard_error_message" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters=error_type=None, error_value=None, error_traceback=None, error_tb=None, error_message=None ##title= ## if str(error_type) == 'NotFound': error_page = context.not_found else: error_page = context.general_error_message return error_page(error_type=error_type, error_value=error_type, error_message=error_message, error_traceback=error_traceback, error_tb=error_tb) (error_traceback and error_tb usually refer to the same object, the trace back, I guess.) I do not know if there is a more elegant solution (passing all the keyword arguments around explicitly looks clumsy but seems to be necessary to access them properly.) Cheers, Clemens