2010-09-02 37 views
1

我正在開發一個網站,其結構如下:click here。嘗試加載樣式表時,我在URL中遇到了一些問題。作爲更具體的,在管理模塊中我使用這個自舉:IE中的baseURL修復

<?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(); ?>/" />鉻和火狐這完全適用於,但在IE我能看到<base>標記不起作用,它使用/ccgss/admin/作爲baseUrl而不是/ccgss/這會導致在試圖加載public文件夾中的某些內容時導致問題,因爲它試圖在/ccgss/admin/public中找到它。

是否有任何其他方式來追加我的資源在bootstrap或我需要解決方法?這應該如何?

回答

1

嘗試設置這樣的路徑:

$view->headScript() 
       ->appendFile($this->baseUrl() . 'public/js/jquery-1.4.2.min.js'); 

也嘗試使用谷歌的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/ 
+0

如果我在Bootstrap中設置了這個,該怎麼辦? '$ this-> baseUrl()'不起作用。它說:'Zend_Application_Bootstrap_Exception:無效的方法「baseUrl」' – 2010-09-08 14:56:35

+0

如果您在Bootstrap中使用它,您可以通過配置設置baseUrl - resources.frontController.baseUrl =/test / – Dmytro 2010-09-09 11:46:56

0

一個簡單的解決方案就是在這些路徑前放一個斜槓,這些路徑絕對會讓你的網站根目錄。

here

在HTML標記沒有結束標記。

在XHTML中,標記必須是 正確關閉。

因此,請確保您設置正確的文檔類型。

此外,爲什麼你的index.php不在公共文件夾中?您知道公用文件夾確實是許多服務器上的public_html文件夾。

+0

但是,然後,只要我將其上傳到我的主機,例如,它將無法正常工作,使它不便攜 – 2010-09-03 13:57:33

+0

有沒有什麼辦法讓引導程序中的baseUrl?因爲甚至修復了'base'標籤,IE仍然不起作用 – 2010-09-03 14:19:54