2013-09-24 56 views
2

我試圖強制語言切換模塊不重定向到主頁,如果沒有菜單項關聯在Joomla 2.5。 我只想更改當前網址中的國家/地區代碼。Joomla語言切換器覆蓋

所以這是my-domain.com/ /菜單視圖=貓& ID = 1?'翻譯成:「my-domain.com/ /菜單視圖=貓& ID = 1? '等等...

我想我應該修改modLanguagesHelper類,但不知道如何創建所需的$ language->鏈接,以通過JRoute正常工作。

任何幫助表示讚賞!

+0

爲什麼你不能創建菜單項關聯? – mavrosxristoforos

+1

這是一個包含許多類別和項目的自定義組件。我不可能爲每個項目創建一個菜單項,特別是我必須允許客戶端將新項目輸入到組件中。 – Mi5h0

+0

此外,該網站是在六種不同的語言,這將進一步複雜化的一切。 – Mi5h0

回答

0

Joomla通常會默認這樣做。這似乎很奇怪,它不符合你所遵循的方法。

雖然,閱讀你留下的評論,但我知道這不是一件容易的事,你已經建立了相當大的網站,回到結構。

如果我是你,我會編寫一個小的自定義模塊來更改URL中的lang = xx或/ xx /,並將用戶重定向到他們想要的語言。如果您需要幫助,請隨時在下面發表評論。

根據你的問題,我會親自去簡單的字符串操作。既然你是真正熟悉PHP(考慮到你已經編寫了自己的自定義組件的考慮),應該是小菜一碟給你的,到:

  • 獲取當前URL
  • 獲取當前語言標籤
  • 更換郎的實例= EN與LANG = DE(例如語言,你明白了吧)
  • 與yoursite.com/de/
  • 打印自定義更換yoursite.com/en/的情況下,鏈接,旗幟或任何你將要使用的。

這不是建議的情況下,但你真的可以讓一個可用的模塊,如果您還添加:

  • 一個選項,管理員寫的語言代碼來使用(允許以後添加)

並確保您動態獲取站點名稱,然後您可能還有一個模塊可以在JED中發佈以幫助其他人像您一樣處於相同的狀態!

+0

這是一個很好的建議,謝謝。 通過用我的組件的自定義模塊替換原始語言切換器模塊可以解決問題。 可以使用來自我的問題的URL示例的一些幫助。這將是最好的使用正則表達式或使用PHP字符串函數? – Mi5h0