@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;
Обратите внимание, что изменилась только ссылка!
