Экспериментирую с подключением коментов к различным модулям. Для этого:
1)Добавляю сервис ajax для искомого модуля и в папке ajax в файл index.php добавляю примерно следующее
BeAs(2);
$event=isset($_REQUEST['event']) ? $_REQUEST['event'] : '';
switch ($event)
{
case 'comments':
$Mainclass->LoadClass('classes/others/class_comments.php');
$Mainclass->Comments->new_status=true;
$Mainclass->Comments->DoEvents();
break;
default:
Error($Mainclass->lang['main']['unknown_func']);
break;
}
2) для отображения коментов в админке в файл lcomments в массиве c_data добавляю информацию о новом модуле
Например для статических страниц:
'page'=>array(
'table'=>'static',
'table_l'=>'static_l',
'm_value'=>'`id`',
'title'=>'`title`',
'counter'=>'`comments`',
'link'=>'?module=page&id={id}&findcomment={cid}',
),
3)Добавляю поле comments int(11) в таблицу модуля. Например для статических страниц в таблицу static
4)
Ну и конечно же вывожу в нужном месте модуля в ( например для стат.страниц - в конце функции ShowStatic)
функцию $Mainclass->Comments->Show(1,false), например:
echo $Mainclass->Template->OpenTable()
.Strings::ParseOwnBb(isset($text[$page-1]) ? $text[$page-1] : reset($text))
.Strings::Pages(count($text),1).(($allowcomments)?$parent.$Mainclass->Comments->Show(1,false):'')
.$Mainclass->Template->CloseTable();
Вместо единички надо ставить id нужной статьи, но в данном случае нужны одни и те же комментарии для любой из страниц.
В некоторых модулях все это офигенно работает, коментарии добавляются, модерируются, видны в админке и т.п.
Но....
1)Если модуль статические страницы является главной страницей сайта и в момент создания комментария в адресной строке нет никаких параметров, то возникает знаменитая ошибка "Текст комментария пуст" в то время как он имеет оптимальную длину.
И самое меня волнующее, из за чего я два дня не мог спокойно кушать:
2) Если используется любой редактор кроме TinyMCE То тоже возникает ошибка "Текст комментария пуст".
При этом в модуле news все это работает, не зависимо на главной ли он странице, и независимо от редактора.
Вопросы:
Вопрос A. Что делает TinyMCE таким хорошим? То есть чего нет во внедрении остальных редакторов?
Вопрос B. Что я не так делаю или чего я не делаю при внедрении комментариев в модуль?
Косяки вылезают вот здесь http://magic-of-words.easy-web.idhost.kz
В теме оформления "celestal" при любом раскладе в любом модуле следующие косяки (но это конечно же отдельный вопрос и это другой сайт).
1) Родной ББ не отображается поле для ввода комента
2) CKeditor - поле для ввода отображается без каких либо кнопок редактора
3) и лишь только TinyMCE отображается корректно.
Вопрос С Что нужно изменить в теме чтобы эти редакторы работали (классы из темы Uniel я уже догадался вставить).
P.S. Вообще, я решил проблему максимально урезав Тини и сделав его редактором по умолчанию.
Но принципиально интересно, чего же я таки не доделал