我正在与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?
答案 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;
}