多语言网站中的社交按钮.乔姆拉


Social buttons in multilanguage site. Joomla

我正在用Joomla建立一个多语言网站。

在每篇文章的末尾,它都显示了社交按钮。我有这段代码来获取Facebook喜欢按钮的当前页面。

<?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,当有人点击一种语言的社交按钮时,它不会显示另一种语言的类似内容。这是同一篇文章,但语言不同,我认为它会有两个"喜欢"的总和。

对我来说,解决方案是获取主网址,以便...:如何获取当前网址宽度语言扩展名(/en 和/es) 以获取主网址?

尝试将 curPageURL() 函数替换为:

function curPageURL() {
    $url = JURI::current();
    $lang = JFactory::getLanguage();
    $tag = $lang->getTag();
    list($code) = explode("-", $tag);
    $url = str_replace("/" . $code . "/", "/", $url);
    return $url;
}