0

我使用 Joomla 2.5.7,但在一页中遇到 $this->baseurl问题。

在我的 index.php 文件中,我使用baseurl取消包含 .js 文件和 .css 文件,如下例所示:

        <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的地方,要更正它,你能帮我吗?

4

5 回答 5

0

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

于 2015-03-19T15:02:51.927 回答
0

用于JURI::root()获取 Joomla 的基根

有关详细信息,请参阅此处的Joomla 文档页面。此外,这个Joomla 论坛帖子 - 虽然指的是 Joomla 1.6 的早期 RC,但也可能会有所帮助。

于 2012-11-25T18:26:49.737 回答
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

于 2013-04-10T21:56:22.680 回答
0

好的,感谢您的回答,但我认为您并没有清楚地理解我的问题仅在于包含文件夹的 url。

我通过在 configuration.php 中使用live_site变量找到了解决方案。

于 2012-11-25T22:05:04.797 回答
-1

I haven't tested these, but perhaps try one of them:

 JDocument::base
 JDocument::baseurl
 JURI::base()
于 2012-11-25T18:22:58.970 回答