0

Joomla 2.5.7を使用していますが、1ページで$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はこのURLを使用します:

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

そしてここでは、私のbaseurlがこれを返すので、すべてが正しくありません(css、js、...):

/フォルダ

それ以外の :

/

そして、index.phpのインクルードはこのページには適していません!

あなたはすでにこの問題に遭遇しましたか?

それを修正する方法は?

baseurlが定義されている場所が見つかりませんでした。修正するには、手伝ってもらえますか?

4

5 に答える 5

0

JURI::root()Joomlaのベースルートを取得するために使用します

詳細については、こちらのJoomlaDocページを参照してください。また、このJoomlaフォーラムの投稿-Joomla 1.6の初期のRCを参照している間、少し役立つかもしれません。

于 2012-11-25T18:26:49.737 に答える
0

OK、回答ありがとうございますが、URLを含むフォルダだけで問題が発生したことを明確に理解していないと思います。

configuration.phpでlive_site変数を使用して解決策を見つけました。

于 2012-11-25T22:05:04.797 に答える
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

$this->baseurlテンプレートでは、の代わりにショートカットを使用できますJURI::base( true )

于 2015-03-19T15:02:51.927 に答える
-1

私はこれらをテストしていませんが、おそらくそれらの1つを試してみてください:

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