在 Zend Framework 中按需启用对表单的 Dojo 支持
Posted
技术标签:
【中文标题】在 Zend Framework 中按需启用对表单的 Dojo 支持【英文标题】:enable Dojo support for Forms just on demand in Zend Framework 【发布时间】:2010-03-16 14:02:11 【问题描述】:如何默认禁用 Dojo 支持,如果你想使用它就启用它?
我的问题是使用任何表单时会自动加载 dojo 支持。 即使没有任何道场元素。
我有以下配置:
引导文件
if($this->dojo()->isEnabled())
$this->dojo()->setLocalPath($this->baseUrl().'/js/dojo/dojo/dojo.js') ->addStyleSheetModule('dijit.themes.tundra') ->setDjConfigOption('usePlainJson',true); echo $this->dojo();
我认为要启用 dojo,我必须在我的模板/视图文件中使用类似这样的显式使用:
$this->dojo()->enable();
如何告诉 Zend Framework 默认情况下不要对表单使用 Dojo?
【问题讨论】:
【参考方案1】:<?php
if ($this->dojo()->isEnabled())
$this->dojo()
...
echo $this->dojo();
?>
打印启用 dojo 所需的 javascript(如果已启用)。我倾向于把它放在我的布局脚本中。
我在 _initViewHelpers() 内的引导程序中将 dojo 作为视图助手添加
$view->addHelperPath('Zend/Dojo/View/Helper/', 'Zend_Dojo_View_Helper');
然后在控制器中根据需要启用
$this->view->dojo()->enable();
如果您使用没有 Dojo 元素的标准 Zend_Form,则不应加载 Dojo。
【讨论】:
以上是关于在 Zend Framework 中按需启用对表单的 Dojo 支持的主要内容,如果未能解决你的问题,请参考以下文章
如何模拟 Zend\Form 提交而不在 Zend Framework 2/3 中显示表单?
文件上传表单的 Zend 验证器大小 - Zend Framework 2.3
文件上传表单的 Zend 验证器大小 - Zend Framework 2.3