从子视图将Javascript文件附加到InlineScript集合的末尾

Mad*_*ort 5 zend-framework2

我正在使用Zend Framework 2.

在我的布局文件中,我注入了一些像这样的javascript文件:

$this->InlineScript()
            ->appendFile($this->basePath() . '/js/myfile.js');


echo $this->InlineScript();
Run Code Online (Sandbox Code Playgroud)

现在我想从视图中注入一些javascript,以便它附加到InlineScript集合的末尾.

所以我在动作视图中写了这个:

<?php $this->InlineScript()->offsetSetFile(100,$this->basePath() . '/js/xyz.js'); ?>
Run Code Online (Sandbox Code Playgroud)

但结果是文件xyz首先在渲染视图中加载.

我正在使用Zend Framework 2.0.5

有人可以给我一个建议如何管理吗?

Ber*_*and 13

只是为了补充这个老问题:

内部视图:在页面顶部附加文件:

$this->headScript()->appendFile('/js/filename.js');
Run Code Online (Sandbox Code Playgroud)

在页面顶部附加脚本

$this->headScript()->appendScript('alert(1)');
Run Code Online (Sandbox Code Playgroud)

在页面底部附加一个文件:

$this->inlineScript()->appendFile('/js/filename.js');
Run Code Online (Sandbox Code Playgroud)

在页面底部附加脚本

$this->inlineScript()->appendScript('alert(1)');
Run Code Online (Sandbox Code Playgroud)

内部控制器/动作

使用serviceLocator抓取Headscript,其余的是相同的

$this->getServiceLocator()
    ->get('viewhelpermanager')
    ->get('HeadScript')->appendScript('alert(1)'); //or ->appendFile('/js/filename.js');
Run Code Online (Sandbox Code Playgroud)

如果您知道如何在操作中获取inlineScrip,请告诉我们.