X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Неприятные моменты - не работают коменты
Easy-Web
сообщение 2010-07-14, 8:22
Сообщение #1
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 132
Регистрация: 2009-08-17
Из: Алма-ата, Казахстан

Репутация:   нет  
Всего: 1


Хотя в целом они конечно же работают...
Экспериментирую с подключением коментов к различным модулям. Для этого:
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. Вообще, я решил проблему максимально урезав Тини и сделав его редактором по умолчанию.
Но принципиально интересно, чего же я таки не доделал




Сообщение отредактировал Zzzhan - 2010-07-14, 9:31
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2010-07-14, 16:17
Сообщение #2
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Так. Ну по поводу кода, на первый взгляд все корректно, но в любом случае надо смотреть.

А. В системе написан JS объект EDITOR, который должен стать универсальным "мостом" для доступа к содержимому любого редактора. Думаю здесь скорее не вина Tiny, а вина EDITOR-a (моя вина что что-то не учел).

Б. Проблема главной страницы заключается в том классу комментариев для корректного отображения комментариев необходимо получить корректный ИД модуля путем обращения к методу $Mainclass->GetModVal('id'). Поскольку отображение статических страниц на главной сделано "чуть-чуть по-другому", необходимо открыть файл index.php (корня сайта), найти там функцию MainPage () и в ней перед:


require $Mainclass->root.'modules/static/plugins.php';


Добавить:

$Mainclass->SetModVal('ID');

Где вместо ID написать корректный ИД модуля "статические страницы".

С. Попробуйте заменить файл BBeditor.php темы оформления.
Перейти в начало страницы
+Цитировать сообщение
Maximkaboom
сообщение 2010-07-16, 11:27
Сообщение #3
Опытный
Иконка группы

Группа: Eleanor user
Сообщений: 766
Регистрация: 2010-04-08
Версия системы: RC5

Репутация:   нет  
Всего: 1


Такая же ситуация "Текст комментария пуст" в модуле account

в том случае, если модкль расположен на главной. если пытаюсь добавить со страницы пользователя, никаких действий не происходит вообще

Перейти в начало страницы
+Цитировать сообщение
Maximkaboom
сообщение 2010-07-18, 5:41
Сообщение #4
Опытный
Иконка группы

Группа: Eleanor user
Сообщений: 766
Регистрация: 2010-04-08
Версия системы: RC5

Репутация:   нет  
Всего: 1


Разобрался. Ява не подключалась :)
Перейти в начало страницы
+Цитировать сообщение

Ответить в данную темуНачать новую тему
0 чел. читают эту тему (гостей: 0, скрытых пользователей: 0)
Пользователей: 0

 
RSS Текстовая версия 0.0444 сек.    11 запросов    GZIP включен    Сейчас: 2021-06-15, 3:44