我正在用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;
}