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');

关于这个问题的任何想法?

4

2 回答 2

1

虽然,我同意 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() ?>

希望这可以帮助 :)

于 2013-03-09T10:54:50.287 回答
1

HeadLink视图助手仅管理对在 HTML 页面部分中呈现的 CSS 文件的引用。这些样式表应该始终有一个公共 URL,这意味着它们必须位于“公共”文件夹中的某个位置。

一种解决方案是将 CSS 文件移到那里。另一种解决方案是使用某种 PHP 脚本,它从“公共”文件夹之外的位置读取 CSS 文件,然后打印它的内容。Zend 框架没有为此提供标准组件,因此我建议重新组织项目,以便所有 CSS 都可以驻留在“公共”文件夹中的某个位置。

于 2013-03-08T23:47:30.533 回答