代码之家  ›  专栏  ›  技术社区  ›  Steve

如何在Symfony中将默认格式更改为XML?

  •  0
  • Steve  · 技术社区  · 14 年前

    关于如何更改默认格式,似乎没有任何文档(或可猜测的功能)?到目前为止,我已经创建了所有模板 ...Success.xml.php 只使用常规功能并将其设置为全局更容易;我真的希望可以从YAML配置此功能。。但是我发现了一些HTML格式的硬编码引用。

    我遇到的主要问题是,评估的一部分是以某种方式返回404(而不是404:/),但重要的是它必须始终返回XML,并且丢失路由的默认设置是HTML404而不是XML(所以它只在我使用 forward404 通过XML路由运行的操作。

    总而言之,有没有办法做到这一点/我必须重写哪些类?

    1 回复  |  直到 14 年前
        1
  •  2
  •   benlumley    14 年前

    试着把这个放在工厂里

    all:
      request:
        class: sfWebRequest
        param:
          default_format: xml
    

    但仍需要更改模板名称。这只意味着没有指定格式的url将恢复为xml而不是html。

    您可以子类化sfPHPView并重写initialise方法以影响此操作(从sfView复制粘贴initialise方法)-此类行需要更改:

    if ('html' != $format)
    

    然后需要更改使用的视图类。。。试试这个:

    http://mirmodynamics.com/post/2009/02/23/symfony%3A-use-your-own-View-class