Дано:
- Сайт на русском: mysite.ru и переведен на английский mysite.ru/en (то есть основной язык — русский!)
- Добавляем кнопку с сылкой на внутренюю страницу сайт на основном языке: mysite.ru/sample_page
В итоге мы получаемкнопку с одинаковой ссылкой что в русской что в английской версии. И повлять на этомы никак не можем. Хотя на самом деле должно быть так:
- в русской версии ссылка вида mysite.ru/sample_page
- в английской версии ссылка вида mysite.ru/en/sample_page
Исправим это
Идем в Настройки — Интеграция с сервисами — Сторонний код в теге <body> и вписываем туда код:
<script> $(document).ready(function () { if ($("html[lang='en']").length>0) { $("a.button, a.link").each(function () { if ($(location).attr('hostname') == $(this).prop('hostname') && $(this).attr('href').split("/en/")[1] === undefined && $(this).attr('href').split("/en")[1] != '') { var new_url = $(this).prop('protocol')+'//'+$(this).prop('hostname')+'/en'+$(this).prop('pathname')+$(this).prop('hash'); $(this).prop('href',new_url); } }) } }); </script>
Всё
Теперь выши ссылки на кнопках автоматически преобразуются в ссылки на английскую версию при смене языка.
P. S. Если вам надо, к примеру, французский язык, то замените en на fr в коде. С другими языками по аналогии.
UPDATE
Теперь скрипт меняет не только ссылки на кнопках, но и обычные ссылки, например, на фотографиях