我正在开发一个具有以下结构的网站:click here。我在尝试加载样式表时遇到了一些URL问题。更具体地说,在 admin 模块中,我正在使用此引导程序:
<?php
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{
public function _initResources() {
$view = new Zend_View();
$view->headScript()
->appendFile('public/js/jquery-1.4.2.min.js')
->appendFile('public/js/jquery.tools.min.js')
->appendFile('public/js/jquery-ui-1.8.4.custom.min.js')
->appendFile('public/js/utils.js')
->appendFile('public/ckeditor/ckeditor.js')
->appendFile('public/ckeditor/adapters/jquery.js')
->appendFile('public/js/admin.js')
->appendFile('public/js/ie.utils.js', null, array('conditional' => 'IE'))
->appendFile('public/js/ie.js', null, array('conditional' => 'IE'));
$view->headLink()
->appendStylesheet('public/css/blueprint/screen.css', 'screen')
->appendStylesheet('public/css/uploadify.css', 'screen')
->appendStylesheet('public/css/jquery.tools.css', 'screen')
->appendStylesheet('public/css/ui-theme/jquery-ui-1.8.4.custom.css', 'screen')
->appendStylesheet('public/css/blueprint/print.css', 'print')
->appendStylesheet('public/css/admin.css', 'screen')
->appendStylesheet('public/css/blueprint/ie.css', 'screen', 'IE')
->appendStylesheet('public/css/ie.css', 'screen', 'IE');
}
}
此外,我使用的<base href="<?php echo $this->baseUrl(); ?>/" />
适用于 Chrome 和 Firefox ,但在 IE 中我可以看到<base>
TAG不起作用,它使用/ccgss/admin/
作为 baseUrl 而不是/ccgss/
,这会在尝试加载public
文件夹中的内容时导致问题因为它试图在/ccgss/admin/public
找到。
有没有其他方法可以将我的资源附加到引导程序中,或者我需要解决方法?这应该怎么样?
答案 0 :(得分:1)
尝试设置这样的路径:
$view->headScript()
->appendFile($this->baseUrl() . 'public/js/jquery-1.4.2.min.js');
还尝试使用google的jquery商店:http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
ps:http://code.google.com/intl/en-En/apis/libraries/devguide.html
pss:在我的应用程序中,我使用插件来加载这些库,我发现它对我来说非常有用:
resources.frontController.baseUrl = /test/
答案 1 :(得分:0)
一个简单的解决方案是在这些路径前放置一个斜杠,这将使它们对您的网站根目录绝对。
也来自here:
在HTML中,标签没有结束标记。
在XHTML中,标签必须是 正确关闭。
因此,请确保设置正确的doctype。
为什么你的index.php不在公共文件夹中?您知道公用文件夹确实是许多服务器上的public_html文件夹。