Форум русской поддержки Joomla!® CMS
06.12.2016, 23:51:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

После обновления слетела локализация

 (Прочитано 106 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Roinmana
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 77


« : 13.09.2016, 11:21:38 »

Обновил Joomla до версии 3.6, затем Jcomments с 3.0.0 до 3.0.5, после этого пропали все надписи. Вместо текста выводятся значения FORM_HEADER, FORM_CAPTCHA_REFRESH, FORM_CHARSLEFT_SUFFIX и т.д. Файлы локализации в норме, лежат на своем месте, значения все расписаны. Помогите разобраться в чем ошибка!
Записан
Roinmana
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 77


« Ответ #1 : 13.09.2016, 21:02:32 »

Оказалось, что данная ошибка возникает после установки компонента lm_any Last-Modified. Я ставил версию 1.3.1, другие не проверял.
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #2 : 14.09.2016, 11:43:24 »

@Roinmana
(Модераторы, простите за повтор ответа. Просто решил, что решение смогут увидеть и другие, кто пользуется комментариями).

Итак, рассказываю по порядку.

1). В плагине стоит проверка на подгрузку данных посредством AJAX и во время выдачи фида (параметры строки адреса format, tmpl). В такие моменты он не выполняется.
2). Напомню, что плагин выполняет лишь функцию так сказать "прослойки" между сайтом и браузером, выполняя техническую функцию формирования нужных заголовков страницы для ее кеширования и последующей индексации ботами.
3). При включенном любом варианте кеширования в настройках сайта плагин также работает прекрасно, если отключен режим SEF (ЧПУ). Если режим SEF включен, то только в этом случае с комментариями появляется такой глюк. А это значит, что не все параметры корректно передаются посредством AJAX в режиме кеширования + SEF (теряется параметр tmpl=component, можете проверить через FireBug). Это, мне кажется, глюк самого движка, а не в частности плагина.
4). Если я буду игнорировать работу плагина при включенном кешировании, то тогда нет смысла вообще его включать да и ставить на сайты с кешированием+комментарии, т.к. он никогда не будет выполняться.

Теперь вариант решения проблемы в сложившейся ситуации.
Не вижу смысла отдавать SEF-адреса при работе с AJAX, т.к. эти адреса все равно нигде в ссылках не участвуют, используются только в скриптах. А значит, можно изменить код в файле /components/com_jcomments/classes/factory.php (public static function getLink)
Код
			case 'ajax':
$config = JCommentsFactory::getConfig();
 
// support alternate language files
$lsfx = ($config->get('lsfx')!= '')? ('&lsfx=' . $config->get('lsfx')) : '';
 
// support additional param for multilingual sites
if (!empty($lang)) {
$lang = '&lang=' . $lang;
}
 
$link = JRoute::_('index.php?option=com_jcomments&tmpl=component' . $lang . $lsfx);
 

на следующий вариант:
Код
			case 'ajax':
$config = JCommentsFactory::getConfig();
 
// support alternate language files
$lsfx = ($config->get('lsfx')!= '')? ('&lsfx=' . $config->get('lsfx')) : '';
 
// support additional param for multilingual sites
if (!empty($lang)) {
$lang = '&lang=' . $lang;
}
 
$link = 'index.php?option=com_jcomments&tmpl=component' . $lang . $lsfx;
 

Обратите внимание, что изменилась только ссылка!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet