Социальные кнопки на мультиязычном сайте. 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, и когда кто-то нажимает на кнопку социального общения на одном языке, на другом языке подобное не отображается., Это та же статья, но с другим языком, я думаю, что она будет иметь сумму обоих "как".
Для меня решение состоит в том, чтобы получить главный URL-адрес так...: Как я могу получить текущее расширение языка ширины URL-адреса (/en и /es), чтобы получить основной URL-адрес?
1 ответ
Решение
Попробуйте заменить функцию curPageURL() следующим образом:
function curPageURL() {
$url = JURI::current();
$lang = JFactory::getLanguage();
$tag = $lang->getTag();
list($code) = explode("-", $tag);
$url = str_replace("/" . $code . "/", "/", $url);
return $url;
}