我有以下结构
/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() ?>
希望这对你有帮助