2013-09-24 64 views
1

我正在用Joomla構建一個多語言的站點。多語言網站中的社交按鈕。 Joomla

在每篇文章的結尾都顯示了社交按鈕。我有這段代碼來獲取Facebook Like Button的當前頁面。

<?php 
function curPageURL() { 
$pageURL = 'http'; 
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} 
$pageURL .= "://"; 
if ($_SERVER["SERVER_PORT"] != "80") { 
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
} else { 
    $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
} 
return $pageURL; 
} 
?> 

<div class="fb-like" data-href="<?php echo curPageURL(); ?>" data-width="450" data-show-faces="false" data-send="true"></div> 

的問題是: 當我建立一個多語言網站獲取:www.example.com/es和www.example.com/en當有人點擊一個社交按鈕一種語言它dosn' t在其他語言中顯示類似的內容。這是同一篇文章,但用不同的語言,我認爲它會有「喜歡」的總和。

對我來說,解決方案是讓主Url如此...: 如何獲取當前url的寬度擴展語言擴展(/ en和/ es)來獲取主url?

回答

1

嘗試用這個替換您curPageURL()功能:

function curPageURL() { 

    $url = JURI::current(); 

    $lang = JFactory::getLanguage(); 

    $tag = $lang->getTag(); 

    list($code) = explode("-", $tag); 

    $url = str_replace("/" . $code . "/", "/", $url); 

    return $url; 

} 
+0

完美!非常感謝你! –

+0

非常歡迎!很高興幫助! –