0

Joomla 3.1 を使用しています。

コンポーネントの router.php ファイルに奇妙な問題があります。

私は基本的な router.php ファイルを持っていますが、まだ多くのことを行っていません。機能を追加する前に、最初に基本的なものを実際に動作させる必要があります。

コンポーネントが項目タイプとして設定されたメニュー項目があります。ホームページを表示すると、作成したビューが表示されます。

リンクについては、次を使用する場合:

echo JRoute::_('index.php?option=com_vacations&view=test&cat=123');

私はこれを得る:

http://mysite/en/component/vacations/?view=test&cat=123

ただし、「コンポーネント/休暇」を表示したくありません。だから私はこれを試しました:

echo JRoute::_('index.php?view=test&cat=123');

そして私は得る:

http://mysite/en/?view=test&cat=123

一見正しいように見えますが、2 番目の方法は私の router.php には決して触れません。これは、次のような表示に変更できないことを意味します。

http://mysite/en/test/123

URLがrouter.phpを介して解析されるように修正するにはどうすればよいですか?

4

1 に答える 1

1

JRoute を使用してアプリケーションへのリンクを作成する場合、常に最初のコードのように完全なクエリを作成します。

echo JRoute::_('index.php?option=com_vacations&view=test&cat=123');

Router は、実際にルーティング関数を作成する際に Router として機能します。それらがないと、ルーターはデフォルトの joomla ルーティング マークアップを使用してリンクを返します (この のようにhttp://mysite/en/component/vacations/?view=test&cat=123)。com_weblinksなどの joomla コンポーネントのコードを調べます。プロセス全体を理解するのに役立ちます。ここで見つけることができます:/components/com_weblinks/router.php

于 2013-08-10T23:06:06.197 に答える