2010-01-14 86 views
2

我在Drupal中有多語言網站,但並非所有內容都已翻譯。我只希望語言切換器塊在內容頁面中出現,只有在該內容翻譯時纔會顯示。Drupal:僅在翻譯內容時才顯示語言切換器

語言切換程序塊使用功能translation_path_get_translations獲取正在查看的內容的翻譯版本的路徑。如果沒有翻譯的路徑,該塊不會打印切換器。

問題是,翻譯後的版本有時處於與原始內容相同的路徑下(例如,當它是視圖或模塊生成的內容時)。在這種情況下,雖然translation_path_get_translations不會返回任何已翻譯的路徑,但應該打印語言切換器,因爲視圖或模塊將負責翻譯。

例如,這些是翻譯的內容的路徑:

english/content-path-here 
portuguese/conteudo-aqui 

而這些是由視圖或模塊生成的內容的路徑:

english/foobar 
portuguese/foobar 

所以,有一種方法解決這個問題?也許一種方法來確定給定的路徑是否是「真實內容」(而不是視圖/模塊)?

謝謝。

+0

你將如何確定一個觀點是翻譯? – googletorp 2010-01-15 16:06:05

+0

googletorp,在這個特定的項目中,視圖總是有一些翻譯的內容可以顯示。問題在於單節點。 – 2010-01-17 13:54:35

回答

2

嗯,我認爲這是可能的,只能通過路徑手動。
可能是幫助這個:


if ((arg(0) == 'node') && is_numeric(arg(1))) { 
    // that show you are on single node, and you can show block for translation 
} 
+0

謝謝!不是一個完美的解決方案,但在我的項目中工作:) – 2010-01-17 13:56:17