2012-02-09 5 views
0

私はjoomlaコンポーネントの方が新しいです。私のコンポーネントでSEF URLをサポートする方法

私はユーザーの要件に応じて1つの小さなjoomlaコンポーネントを作成します。その完璧な走りです。今、私はこのコンポーネントでsefサポートを提供しようとしているこのコンポーネントで1つの問題がありますが、私はどのように行うか分かりません。

私は、このリンクを読んで - http://docs.joomla.org/Supporting_SEF_URLs_in_your_component#Routing_URL.27s

をし、私は私のコンポーネントで1つのルータのファイルを作成します。 router.phpファイルの

<?php 
function joomBuildRoute(&$query) 
{ 
     $segments = array(); 
     if(isset($query['view'])) 
     { 
       $segments[] = $query['view']; 
       unset($query['view']); 
     } 
     if(isset($query['id'])) 
     { 
       $segments[] = $query['id']; 
       unset($query['id']); 
     }; 
     if(isset($query['layout'])) 
     { 
       $segments[] = $query['layout']; 
       unset($query['layout']); 
     }; 

     return $segments; 
} 

function joomParseRoute($segments) 
{ 
     $vars = array(); 
     $app =& JFactory::getApplication(); 
     $menu =& $app->getMenu(); 
     $item =& $menu->getActive(); 
     // Count segments 
     $count = count($segments); 
     //Handle View and Identifier 
     switch($item->query['view']) 
     { 

      case 'message': 
        $id = explode(':', $segments[$count-1]); 
        $vars['id'] = (int) $id[0]; 
        $vars['view'] = 'message'; 
        break; 
     } 
     return $vars; 
} 
?> 
+0

間違いはありますか?あなたのホスト上でJoomlaの.htaccessファイルがアクティブで、バックエンドでURL書き換えが有効になっていますか? – Arnaud

+0

リプレイをありがとう。エラーは表示されません。私のURLはsuccessfuly書き換えます。このページにリダイレクトされません。ボタンをクリックすると、このURLが書き換えられますが、そのページにはリダイレクトされません。常にその最初のページを表示します。そのページをリダイレクトする方法は?ありがとう。 – Mayur

+0

コンポーネントにレイアウトセットが必要ですか?はいの場合、 'message'の場合はレイアウト変数を設定します。 – di3sel

答えて

0

おかげで、

が行われていません。

ここに他の問題があります。

ページurl rewiteしかし、それはリダイレクトされません。

私はメッセージボタンをクリックすると、ここにURLを想定 JOOMLA/joom/index.phpを/コンポーネント/ joom /メッセージ/デフォルト

は、その書き換えを意味しますが、メッセージページを表示されません。

ありがとうございました。

+0

すべてのおかげで、大丈夫です。 – Mayur

関連する問題