如何从Zend框架的模块中加载css和javascript文件


how to load css and javascript files from a module in Zend Framework 1?

我有以下结构

/app
    application/
        configs/
        modules/
             default/
                   controllers/
                   layouts/
                   views/
                   forms/
             profile/
                   controllers/
                   layouts/
                   views/
                   forms/
                   assets/
                       css/
                       js/
                       images/
    library/
    public/
        css/
        js/
        images/
        uploads/
如何从 加载js和CSS文件

/application/modules/profile/assets/... ?

并使用与

类似的内容

$this->view->headLink()->appendStylesheet('path/to/file');

关于这个问题有什么想法吗?

HeadLink视图帮助器只管理对HTML页面部分中呈现的CSS文件的引用。这些样式表应该总是有一个公共URL,这意味着它们必须驻留在"public"文件夹中的某个地方。

一个解决方案是将CSS文件移到那里。另一种解决方案是使用某种PHP脚本从"public"文件夹外的位置读取CSS文件,然后打印其内容。Zend框架没有一个标准的组件,所以我建议重新组织这个项目,这样所有的CSS都可以驻留在"public"文件夹的某个地方。

虽然我同意P44T的观点,即样式表应该始终保存在公共文件夹中,但在某些情况下,您可能需要从模块中添加一些额外的样式。这样做的一个例子是,如果您希望将模块与应用程序分开分发,并且您不希望在添加模块时单独添加样式表。

这里有一个例子,你可以从任何视图:

<?php $this->headStyle()->captureStart() ?>
    // add plain css or include a file like this:
    <?php include APPLICATION_PATH . 'modules/[modulename]/assets/css/style.css'; ?>
<?php $this->headStyle()->captureEnd() ?>

希望这对你有帮助