1

Joomla SEF を有効にしています。ホームページ (フロントページ) の記事から記事にリンクすると、次の結果が得られます。

anywebsite.com/component/content/article/26/141-Z1-Z2-Z3-Z4

しかし、他の記事からリンクすると、次の結果が得られます。

anywebsite.com/Categor/141-Z1-Z2-Z3-Z4

そしてリンクは両方とも等しいです:

index.php?option=com_content&view=article&id=141:Z1-Z2-Z3-Z4&catid=26 何かアイデア?!

編集: joomla が変換するのを待つのではなく、この SEF リンクを手動でリンクすることは良い考えですか? せめて最後の手段?

4

2 に答える 2

1

最初の SEF URL は、コンテンツに関連付けられた Itemid (別名メニュー項目) がない場合のデフォルトの Joomla SEF 形式です。「ホームページから記事にリンクする」ために使用するのは、Joomla が /Category/141... URL を構築するために必要な Itemid を提供していません。

完全な制御が必要な場合は、AceSEF や sh404SEF などの別の SEF 管理コンポーネントを使用することをお勧めします。これらは、URL 管理をより詳細に制御できる傾向があります。

于 2010-04-02T01:04:27.717 に答える
0

コントローラー部分を削除したい場合は、デフォルトのメニュー項目を取得して、その ID をルーターからクエリにプッシュするだけです。

ルーターで:

if (!isset($query['Itemid']) {
    $app =& JFactory::getApplication();
    $menu =& $app->getMenu();
    $item =& $menu->getActive();

    // Do a check to see if $item is set to something. If no active item, get the default:

    if (!$item) $item =& $menu->getDefault();

    $query['Itemid'] = $item->id;
}
于 2011-08-19T12:58:54.667 に答える