我在symfony项目中做了一个AJAX调用,所以它有一个'js'的sf_format。在actionSuccess.js.php视图中,我调用get_partial更新页面上的内容。默认情况下,由于sf_format仍然设置为'js',所以它会查找'js'格式的部分。是否有可能重写sf_format,以便它使用我已有的常规'html'部分(这样我就不必具有两个相同的部分)?Symfony - 在调用get_partial时覆盖sf_format
1
A
回答
3
我有类似的问题。
我查看了代码,get_partial没有给你任何范围来改变查找的格式......猜你可以修改代码,如果你需要的话可以修改代码。
我改为转换请求格式 - 在我看来也不理想。但比编辑symfony文件更好。
到控制器中做到这一点:
$request->setRequestFormat('html');
或视图
$sf_context->getRequest()->setRequestFormat('html');
在这两种情况下,如果要将此回来之后,你可以检索使用getRequestFormat现有值()。
2
如果您正在寻找更可持续的解决方案,您可以听view.configure_format
并在您的应用程序配置中设置sfPHPView扩展。
// in apps/api/config/apiConfiguration.class.php
public function configure() {
$this->dispatcher->connect('view.configure_format', array($this, 'configure_formats'));
}
public function configure_formats(sfEvent $event) {
// change extension, so our module templates and partials
// for xml do not need the .xml.php extension
$event->getSubject()->setExtension('.php');
}
相关问题
- 1. 覆盖isAuthenticated()在symfony
- 2. symfony 1.4路由与sf_format
- 3. Symfony - 覆盖FOSUserBundle changePassword_content
- 4. 调用从覆盖方法中覆盖的方法在OO PHP
- 5. Symfony的路由:sf_format默认值
- 6. 覆盖配置值Symfony QueueBundle
- 7. Symfony Admin Generator标题覆盖
- 8. symfony覆盖BaseForm类howto
- 9. Symfony如何覆盖fosrestbundle
- 10. 覆盖symfony 3.2中的PermissionMap
- 11. Symfony FOSUserBundle覆盖表格
- 12. Symfony问题。如何在action.class中使用get_partial?
- 13. 调用覆盖方法,超类调用覆盖方法
- 14. 改装2调用覆盖
- 15. C# - 调用覆盖方法
- 16. mod_rewrite覆盖调用html根
- 17. Symfony 3:无法覆盖存储库
- 18. 覆盖FOSUserBundle注册表格Symfony
- 19. Symfony的选择断言消息覆盖
- 20. Symfony不会覆盖包视图
- 21. symfony的2 sonataAdminBundle覆盖模板
- 22. Symfony 3覆盖默认窗体渲染
- 23. Symfony 2覆盖实体字段属性
- 24. 的Symfony 2,覆盖捆视图(TWIG)SonataAdmin
- 25. Symfony覆盖控制器和操作
- 26. Symfony 3 |覆盖实体表名
- 27. Symfony 3 HTTP Cache和Cross Origin Headers覆盖
- 28. Symfony Twig覆盖特定的表格行
- 29. 覆盖Symfony BlockBundle的模板SimpleBlock
- 30. 在Dojo中调用覆盖方法
太棒了,本!谢谢!我在视图中设置了请求格式,调用$ sf_request-> setRequestFormat('html')而不是使用$ sf_context实际上更简单。 – deadwards 2009-09-18 14:55:10
嗯,我的坏,$ sf_request帮手是一个整洁的捷径,忘记了。 – benlumley 2009-10-02 11:28:44