您真的应该阅读有关ContextSwitch Action Helper的手册章节.但这里有一个简要的概述:
>您的视图脚本(action-name.phtml)用于常规HTML输出
>您可以为控制器中的某些操作初始化上下文切换,以便输出例如XML – 默认情况下支持xml上下文,您可以将视图脚本放在xml上下文中(action-name.xml.phtml); xml上下文还禁用了布局的呈现
>内置上下文切换也支持json,默认选项是禁用布局和视图,并以JSON格式输出从控制器操作分配给视图的所有变量,可以使用setAutoJsonSerialization切换此选项(false)上下文切换的方法;但如果你切换它,你必须创建一个视图脚本action-name.json.phtml并手动输出JSON格式的变量
要在这两个上下文之间切换,您必须在网址中添加格式参数,例如/ posts / author / ivan / format / json或/ posts / author / ivan / format / xml.如果您没有指定格式,您的应用程序将输出纯HTML.
Context开关的特殊版本是AjaxContext,您还必须手动配置它.它不使用’format’参数来标识它应该用于输出的格式,但它会检查请求中发送的标头,并查找’X-Requested-With:XmlHttpRequest’标头,如果存在,则检查AjaxContext.使用AjaxContext操作助手,您可以指定在使用AJAX触发请求时应将哪个上下文用于特定操作.