0

joomla2.5用のカスタムコンポーネントを作成しました。今、私はsefurlsを実装したかった。そこで、router.phpファイルの作成を開始しました。私はほとんど成功しました。変更したいのは、コンポーネント名のリンクを削除することだけです。これが私が持っているものです:

http://host.tld/component/componentname/

エイリアスを使用してメニュー項目を作成すると、sefurlは次のようになります。

http://host.tld/alias

これは私が望んでいる実際のスキームですが、メニューからメニュー項目をクリックしたときにのみ表示されます。私がホームサイトにいる場合、これは機能しません。

4

1 に答える 1

1

自分で問題を解決しました:

コンポーネントのメニュー項目が1つしかない場合(そうでない場合は、適切なものを選択する必要があります)、コードに次の行を追加するだけです。

$app = JFactory::getApplication();
$menu = $app->getMenu();
$items = $menu->getItems('component', 'com_games');

if (!isset($query['Itemid']))   
    $query['Itemid'] =  $items->id; 

これで、joomlaはsefurlを生成するためのメニュー項目エイリアスを取得します。

于 2012-10-15T11:54:58.367 に答える