多语言网站中的社交按钮。的Joomla

时间:2013-09-24 13:34:13

标签: php facebook joomla social multilingual

我正在与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,当有人点击一种语言的社交按钮时,它就不能用另一种语言显示出来。这篇文章是同一篇文章,但语言不同,我认为它们的总和都是“喜欢”。

对我来说,解决办法是让主网址如此......: 如何获取当前url widthout语言扩展名(/ en和/ es)以获取主URL?

1 个答案:

答案 0 :(得分:1)

尝试将 curPageURL()功能替换为:

function curPageURL() {

    $url = JURI::current();

    $lang = JFactory::getLanguage();

    $tag = $lang->getTag();

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

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

    return $url;

}