如何将外部 JavaScript 文件添加到 Zend Framework 2 应用程序
How to add an external javascript file to a Zend Framework 2 application?
我需要将jQuery和其他javascript文件添加到我的Zend Framework项目中。我正在尝试使用操作控制器来做到这一点:-
public function userinfoAction()
{
$this->view->headScript()->appendFile($basePath .'/js/validate_jquary.js');
$this->headScript()->appendFile('http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
return new ViewModel();
}
但它不起作用。
下面介绍如何在 ZF2 中的控制器中使用视图帮助程序来解决问题:
public function someAction()
{
$this->getViewHelper('HeadScript')->appendFile($basePath . '/js/somejs.js');
}
protected function getViewHelper($helperName)
{
return $this->getServiceLocator()->get('viewhelpermanager')->get($helperName);
}
$this->HeadScript()->appendFile('http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js','text/javascript');
$this->HeadScript()->appendFile('http://localhost/zend/public/js/validate_jquary.js','text/javascript');
视图中的此代码是可以的。但我不知道这个方法是否正确。
在 ZF2 中从控制器中使用视图帮助程序的最简单方法可能是通过渲染器对象:
public function someAction()
{
$renderer = $this->serviceLocator->get('Zend'View'Renderer'RendererInterface');
$renderer->headScript()->appendFile($renderer->baseUrl() . '/js/somejs.js');
}
你可以试试这个。 它对我来说很好用
在 SampleController 中写下这些行
public function someAction()
{
$this->getViewHelper('HeadScript')->appendFile('/js/yourjsfile.js');
$this->getViewHelper('HeadScript')->appendFile('/js/jquery/jquery.min.js');
}
在控制器中写入以下方法
protected function getViewHelper($helperName)
{
return $this->getServiceLocator()->get('viewhelpermanager')->get($helperName);
}
您没有使用视图添加 jquery:
$this->view->headScript()->appendFile('http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
一个好方法是在控制器操作中使用以下代码假设您要包含分页器.js
$this->view->headScript()->appendFile($this->view->baseUrl().'/js/paginator.js');
以上
所有内容都给我带来了大量的错误,$this->view->headScript() 完全是关于 Zend Framework 1 的。这对我有用:
在控制器的类定义之前,在控制器中添加:
use Zend'View'Helper'HeadScript;
然后你可以在你的控制器中使用这样的东西(当然你可以在任何操作中使用它,而不仅仅是在构造函数中):
/**
* @var Zend'View'Helper'HeadScript
*/
protected $headScript;
function __construct() {
$this->headScript = new HeadScript();
$this->headScript->appendFile('http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js','text/javascript');
}
然后你应该把它添加到你的布局中:
<?php echo $this->headScript(); ?>
相关文章:
- 如何在Zend Framework中使用javascript文件中的translate
- Zend Framework 中的 jquery 插件
- Angular Js $http.post 方法无法访问 Zend Framework 中的数据
- 在 Zend Framework 中的 AJAX 调用后在操作之间传递变量
- jqGrid with Zend Framework (zfdatagrid)
- 使用 Zend Framework 或 Javascript 进行浏览器检测
- 如何在 Zend Framework 2 中使用 Angular JS
- 如何将外部 JavaScript 文件添加到 Zend Framework 2 应用程序
- 如何使用 Zend Framework 和 netbeans 编写 JavaScript
- Zend Framework 2 and ExtJS
- 根据 Zend Framework 2 中的请求类型在同一路由上触发不同的操作
- 在Zend Framework中引导特定于模块的样式/脚本
- 使用Zend Framework应用程序将子视图加载到IFrame中
- 在Zend Framework中,哪里是放置自定义jquery和javascript的最佳位置
- Zend Framework加载视图而不重新加载布局模板
- Zend Framework 1.12,ContextSwitch或AjaxContext不禁用布局和其他问题
- Zend framework with dojo
- 从zend framework's应用程序目录中访问javascript/css
- Zend Framework 1和最新的Dojo版本
- 书籍参考 - Zend Framework 与 Javascript Frameworks 的集成