0

サンプルコードがあります:

<?php
$id = JRequest::getVar('id');
$action = "index.php?option=com_test&id=".$id;
?>
<form action="<?php echo $action ?>" method="get">
<input type="text" name="id" value=""/>
<input type="submit" value="submit" name="submit" />
</form>

フォームを送信すると、URL は " index.php&id=..." => エラーでコンポーネントが見つかりません

それを修正する方法は結果 " index.php?option=com_test&id=..."

4

1 に答える 1

2

JROUTEって何?

では、JRoute (コンポーネント ルーター)forum actionの機能を使用して、フレームワーク内の URL をコンポーネントに正しくルーティングする必要があります。.JRoute::_('index.php?option=com_test&id=".$id');

なんで?

Menu Managerを使用してメニュー項目を作成する際の問題を回避するために、コードに互換性がなくなります (つまり、エラーno component can be foundが表示されます)。

非互換?一体何のことですか?

これは、誰かがindex.php/myMenuItem/joomla の標準によってデフォルトの URL を?option=com_test非互換にするメニュー項目を作成した可能性があるためです。

エイリアスは URL でどのように使用されますか?

メニュー項目では、Joomla! エイリアスを URL プラグとして使用します。最初の 2 つの SEF URL オプションを使用し、Products というメニュー項目を作成するとします。URL は example.com/products になります。

ジュムラ!また、URL 内のデータの主キー値を使用して、ルーターが正しいページに移動できるようにします。前の例を続けると、製品メニュー アイテムが記事/カテゴリ ブログ用である場合、記事のタイトルのリンクおよび/または [続きを読む] リンクは 3 つの部分で構成されます。

  • メニュー項目の URL - example.com/products;
  • さらに、カテゴリとカテゴリ エイリアスの主キー - 32-fruit;
  • さらに、アーティクルとアーティクル エイリアスの主キー - 1-apple; 完全な URL は次のとおりです: http://example.com/products/32-fruit/1-apple

クレジット ( JRoute、2011)

実装

<?php
$id = JRequest::getVar('id');
$action = "index.php?option=com_test&id=".$id; ?>
<form action="<?php echo JRoute::_($action); ?>" method="get">
<input type="text" name="id" value=""/>
<input type="submit" value="submit" name="submit" />
</form>

その他の例..

JRoute が他のコンポーネントでどのように実装されているかを確認したい場合は、管理者コンポーネントのビュー セクションを参照してくださいcom_menus。ディレクトリ内com_menus/views/items/tmpl/edit.php

于 2012-07-17T02:43:37.217 に答える