1

joomla 1.5のフレンドリーなURLに問題があります(実際にはそれほどフレンドリーではありません)私は現在SEFを使用していません(すべきですか?)

これが私の問題です

いくつかのカテゴリとセクションがあります。それぞれ別名があります。

たとえば、www.myxyz.com/news/ にアクセスして、すべてのニュース カテゴリを確認できます。

記事をチェックする場合、生成される URL は次のようになります: www.myxyz.com/news/10-local-news-title-alias

joomla がその URL を生成する方法がわかりません。私のテンプレートでは、特定の記事へのリンクをいくつか生成する必要があります。

だから私はテンプレートでヘルパーを作成します:


// helper to get alias in mainMenu ... alias must be unique 
function getMainMenu($menuAlias){
    $items = &JSite::getMenu();
    // Get Menu Items
    $rows = $items->getItems('alias', $menuAlias);
    if($rows){
        //$result = JRoute::_(JURI::base().$rows[0]->link);
        $result= JURI::base().substr(JRoute::_($rows[0]->link), strlen(JURI::base(true)) + 1);
        return $result;
    }else{
        return JURI::base() ;// aka not found
    }
}

しかし、www.myabc.com/news/7-local-news-alias のようなページに入ると、URL がめちゃくちゃになり、間違った URL に変更されます。

joomla urlフレンドリーにSEFを使用する必要がありますか?

4

2 に答える 2

2

コード内の通常の URL で作業する必要があります。SEF joomla! をオンにすると、作成したすべてのリンクを SEF URL に自動的に変換し、リクエストが来ると通常の URL に戻します...

于 2009-09-24T07:12:09.930 に答える
2

少し複雑ですが、SEF URL にリンクする適切な方法は、元の非 SEF リンクを使用することです。必要になるだろう:

  • 記事のID
  • セクションのメニュー アイテムの Itemid (例: 記事のブログ レイアウトにリンクしているメニュー アイテムなど)

次に、次のリンクにリンクします。

index.php?option=com_content&view=article&id=42&Itemid=3

42 は記事 ID、3 はメニュー ID です。リンクは次のようになります。

/section-alias/42-the-article-alias

Itemid を見逃した場合、リンクは次のようになります (私が思うに):

/components/content/42-the-article-alias
于 2009-09-29T17:10:51.080 に答える