在 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 Framework 2表单

如何模拟 Zend\Form 提交而不在 Zend Framework 2/3 中显示表单?

文件上传表单的 Zend 验证器大小 - Zend Framework 2.3

文件上传表单的 Zend 验证器大小 - Zend Framework 2.3

PHP Zend Framework - 表单元素选择选项禁用

Zend Framework-表单元素选择选项禁用