2013-09-24 34 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

非常欢迎!很高兴帮助! –