web-dev-qa-db-ja.com

多言語-関連付け:ホームページの単一の記事-重複したホームURLの問題

初期問題2014-Joomla 3.3.3

私は多言語サイトをセットアップしましたが、Featured Articles menu-itemをHomeとして使用し、Single Article menu-itemを使用しました。メニュー項目、カテゴリ、記事はすべて言語間で関連付けられています。

メインメニューのホームメニュー項目を使用すると、問題なく動作します。

問題は、ホームページにいて言語を変更したいときに、mod_languagesがホームページに重複したURLを生成することです。

したがって、「www.mysite.com/en」に移動する代わりに、「www.mysite.com/en/home」に移動します。したがって、現在、私のすべてのホームページに2つの明らかな重複したURLがあります。


2017年アップデート-Joomla 3.7x

これはこの古い問題の続きです。

この問題は最近のJoomlaバージョンで修正されたようです。言語ホームページの記事間の関連付けを作成すると、期待どおりに機能します-(これは、Joomla 3.7.2でテストおよび確認されています)。


記事とsh404SEFの問題を使用して2017 Joomla 3.7xをホームページで更新する

ただし、関連付けられているホームページの記事があり、sh404SEFを使用している多言語サイトでは、今日、非常によく似た問題に対処する必要がありました。

上記の設定では、いくつかの問題が発生しました:

  • sh404SEFが一部のホームページに重複したURLを作成しました-各言語のホームページにwww.example.com/langwww.example.com/lang/article-aliasの両方のURLが作成される場合があります。

  • ホームページのメイン言語のmod_languages内のリンクが現在の言語のホームページにリダイレクトされていたwww.example.com/lang/home-aliasのようだったため、ウェブサイトのメイン言語に戻すことはできませんでした。

3
FFrewin

最初の2014ソリューション-古いJoomla 3xバージョン

この問題はmod_languagesに起因します。現在、コンポーネントの関連付けを常に確認し、見つかった場合は、そのページのURLを作成するためです。この場合、ホームのメニュー項目からの関連付けのみを使用し、コンポーネントの関連付けをスキップしたいだけかもしれません(ただし、これが常に各ケースとすべてのホームページ設定で機能するかどうかはわかりません)。

これを克服する最も簡単な方法は、n-associateホームページのメニューアイテムで使用される記事であるため、mod_languagesはメニューアイテムの関連付けのみを使用します。


記事とsh404SEFの問題を使用してJoomla 3.7xをホームページで解決する

最初はsh404SEFがこれらの問題を引き起こしていました。記事の関連付けを解除すると、最初に、言語切り替えモジュールでsh404SEFを使用して作成されたURLのソリューションが提供されます。

しかし、あなたが私のようなものであり、物事を整理していきたいのであれば、おそらくホームページの記事も関連付けておきたいでしょう。

これらを修正するために、sh404SEFコンポーネントのホームページ記事に手動のSEF URLを作成しました。これは、各言語のURL言語コードにすぎません。

したがって、メインの英語については、sh404SEFが記事のエイリアスを使用して作成していたURLを/enに変更しました。これは、言語フィルタープラグインでデフォルトの言語URLコードを削除する設定でもうまく機能しました。

注意:

ホームページ記事のURLがsh404SEFで手動で設定されている場合、ある時点でURL言語コードを変更することを決定すると問題が発生する可能性があります-それらはもう同じではないためです。

1
FFrewin

似たような設定ですが、特集記事機能を利用しました。 3つのメニュー項目を作成すると機能します。

メニュー項目#1:「マスター」ホームメニュー。これは特集記事の項目です。非表示のメニューに貼り付けて、どこにもメニューが表示されないようにします。デフォルトのホームアイテムになるように設定します(スターがマークされています)。

次に、2つの記事を作成し、それぞれの言語でのホーム記事ごとに1つずつ、それらを言語に割り当てます。両方を注目に設定します。

メニュー項目#2英語のメニューを作成し、英語のホームメニュー項目を作成して、英語のホーム記事だけにリンクします。このアイテムの言語を英語に設定します。このメニューのホームアイコンをクリックすると、スターの代わりに国旗が割り当てられる必要があります。

メニュー項目#3他の言語用のメニューを作成し、再度、そのためのホームアイテムを作成して、そのホーム記事にリンクします。このアイテムの言語を他の言語に設定します。このメニューのホームアイコンをクリックすると、スターの代わりに国旗が割り当てられる必要があります。

次に、2つの異なる言語メニューのメニュー項目ごとに、それに対応する代替言語項目を割り当てることができます(これにより、ユーザーがフラグアイコンをクリックすると、エラーを出さずに他の記事に切り替えられます)。

トリックは、その最初の「マスター」ホームアイテムです。繰り返しになりますが、実際に機能(私が知ることができる)は表示されません。代わりに、他の2つのメニューのそれぞれにホームが表示されます。

これがあなたが探していたものであるかどうかはわかりませんが、私が構築したサイトでは完全に機能します。

http://shoresofgrace.com

1
Brian Peat