2012-11-25 78 views
0

我使用Joomla 2.5.7,我在一個頁面中遇到了$ this-> baseurl的問題。Joomla網站:baseurl不會返回正確的網址

在我的index.php文件,我unclude .js文件和.css文件與的BaseURL就像這個例子:

 <script src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jquery-1.2.6.min.js" type="text/javascript"></script> 

而且它在這種網頁的正常工作:

http://mywebsite.com/index.php/myfolder

頁面 「MyFolder文件」 是從類的文章列表。

當我點擊這個頁面中的文章是,Joomla使用這個網址:

http://mywebsite.com/index.php/myfolder/article1

在這裏,一切都是不正確的(CSS,JS,...),因爲我的BaseURL返回此:

/文件夾

代替:

/

而我包括的index.php不利於本頁面!

您是否已遇到此問題?

如何解決?

我沒有找到baseurl被定義,糾正它,你能幫助我嗎?

回答

0

好的,謝謝你的回答,但我不認爲你清楚地知道我只有在包含文件夾的url的問題。

我在configuration.php中找到了一個使用live_site變量的解決方案。

-1

我沒有測試過這些,但也許嘗試其中的一種:

JDocument::base 
JDocument::baseurl 
JURI::base() 
+0

我得到同樣的問題,它返回:** http://mywebsite.com/folder/**而不是** http://mywebsite.com/** – TheFrancisOne

0

使用JURI::root()得到的Joomla

請見Joomla文檔頁面here的根部關於它的更多信息。此外,Joomla論壇發佈了this - 同時提到Joomla 1.6的早期版本RC可能會有所幫助。

+0

我得到錯誤「Class'JRUI'not found 「 – TheFrancisOne

+0

應該是JURI :: root()而不是JRUI!抱歉! –

+0

Oups,對不起,錯誤。但我得到同樣的問題,它返回:** http://mywebsite.com/folder/**而不是** http://mywebsite.com/** – TheFrancisOne

0

首先你建立此功能在你的腳本的頂部

function thisSite($a){ 
$this_raw = parse_url($a); 
$b = preg_replace('#^www\.(.+\.)#i', '$1', $this_raw['host']); 
return $b; } 

然後使用功能這樣

$thisSite = JURI::root(); 
// $thisSite will echo http://www.mywebsite.com/ 
$thisSite_base = thisSite($thisSite); 
// the function removes http:// and the www and the /path 
echo $thisSite_base; 

這將呼應

mywebsite .com

0

在模板中,您可以使用快捷方式$this->baseurl而不是JURI::base(true)