Социальные кнопки на мультиязычном сайте. 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;

}
Другие вопросы по тегам