1

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

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

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

对我来说,解决方案是获取主 URL 所以...:如何获取当前 url 宽度输出语言扩展(/en 和 /es)来获取主 URL?

4

1 回答 1

1

尝试用这个替换你的curPageURL()函数:

function curPageURL() {

    $url = JURI::current();

    $lang = JFactory::getLanguage();

    $tag = $lang->getTag();

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

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

    return $url;

}
于 2013-09-24T14:05:37.253 回答