我在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. symfony 1.4路由與sf_format
- 2. 覆蓋isAuthenticated()在symfony
- 3. Symfony - 覆蓋FOSUserBundle changePassword_content
- 4. 調用從覆蓋方法中覆蓋的方法在OO PHP
- 5. Symfony的路由:sf_format默認值
- 6. 防止在調用writeToFile時覆蓋:
- 7. Symfony問題。如何在action.class中使用get_partial?
- 8. 覆蓋FOSUserBundle中的RegistrationController Symfony
- 9. 覆蓋配置值Symfony QueueBundle
- 10. Symfony Admin Generator標題覆蓋
- 11. Symfony如何覆蓋fosrestbundle
- 12. 覆蓋symfony 3.2中的PermissionMap
- 13. Symfony FOSUserBundle覆蓋表格
- 14. symfony覆蓋BaseForm類howto
- 15. 覆蓋XMLHTTPRequest調用
- 16. 調用覆蓋方法,超類調用覆蓋方法
- 17. 改裝2調用覆蓋
- 18. mod_rewrite覆蓋調用html根
- 19. C# - 調用覆蓋方法
- 20. 調用函數覆蓋值
- 21. Symfony 1.4:覆蓋原則:build-schema命令
- 22. Symfony Twig覆蓋特定的表格行
- 23. Symfony 3覆蓋默認窗體渲染
- 24. Symfony 3:無法覆蓋存儲庫
- 25. Symfony 2.1 kernel.request事件不能覆蓋_controller
- 26. Symfony 3 |覆蓋實體表名
- 27. Symfony路由/ {slug}覆蓋現有路由
- 28. Symfony 3 HTTP Cache和Cross Origin Headers覆蓋
- 29. 覆蓋Symfony BlockBundle的模板SimpleBlock
- 30. Symfony的選擇斷言消息覆蓋
太棒了,本!謝謝!我在視圖中設置了請求格式,調用$ sf_request-> setRequestFormat('html')而不是使用$ sf_context實際上更簡單。 – deadwards 2009-09-18 14:55:10
嗯,我的壞,$ sf_request幫手是一個整潔的捷徑,忘記了。 – benlumley 2009-10-02 11:28:44