проблемы с AJAX Comments
27 мая 2010 в 12:52
вообще никак не получается заставить работать AJAX Comments. на трёх разных сайтах попробовал, jQuery новый скачивал, никак не могу побороть.
форма отправки комментариев аяксовская появляется, но после отправки он ругается на джаваскрипт:
An error occurred.
/ajax_comments/js
{ "status": true, "data": "\x3cdiv class=\"comment-new-success\"\x3e\x3ca id=\"new\"\x3e\x3c/a\x3e\n\x3ca id=\"comment-19\"\x3e\x3c/a\x3e\n\x3cdiv class=\"comment comment-new comment-published odd\"\x3e\n\n \x3cdiv class=\"clear-block\"\x3e\n \x3cspan class=\"submitted\"\x3eЧтв, 05/27/2010 - 19:20 — Вася Пупкин\x3c/span\x3e\n \n \x3cspan class=\"new\"\x3eНовый\x3c/span\x3e\n \n \n \x3ch3\x3e\x3ca href=\"/content/red#comment-19\" class=\"active\"\x3eорп\x3c/a\x3e\x3c/h3\x3e\n\n \x3cdiv class=\"content\"\x3e\n \x3cp\x3eорп\x3c/p\x3e\n \x3c/div\x3e\n \x3c/div\x3e\n\n \x3cdiv class=\"links\"\x3e\x3cul class=\"links\"\x3e\x3cli class=\"comment_edit first\"\x3e\x3ca href=\"/comment/edit/19\"\x3eизменить\x3c/a\x3e\x3c/li\x3e\n\x3cli class=\"comment_reply last\"\x3e\x3ca href=\"/comment/reply/11/19\"\x3eответить\x3c/a\x3e\x3c/li\x3e\n\x3c/ul\x3e\x3c/div\x3e\n \x3c/div\x3e\n\x3c/div\x3e\x3cscript type=\"text/javascript\"\x3ejQuery.extend(Drupal.settings, { \"basePath\": \"/\", \"dhtmlMenu\": { \"slide\": \"slide\", \"siblings\": \"siblings\", \"relativity\": \"relativity\", \"children\": \"children\", \"clone\": \"clone\", \"doubleclick\": 0 }, \"googleanalytics\": { \"trackOutgoing\": 1, \"trackMailto\": 1, \"trackDownload\": 1, \"trackDownloadExtensions\": \"7z|aac|avi|csv|doc|exe|flv|gif|gz|jpe?g|js|mp(3|4|e?g)|mov|pdf|phps|png|ppt|rar|sit|tar|torrent|txt|wma|wmv|xls|xml|zip\" }, \"lightbox2\": { \"rtl\": \"0\", \"file_path\": \"/(\\\\w\\\\w/)sites/default/files\", \"default_image\": \"/modules/lightbox2/images/brokenimage.jpg\", \"border_size\": \"10\", \"font_color\": \"000\", \"box_color\": \"fff\", \"top_position\": \"\", \"overlay_opacity\": \"0.8\", \"overlay_color\": \"000\", \"disable_close_click\": 1, \"resize_sequence\": \"0\", \"resize_speed\": 400, \"fade_in_speed\": 400, \"slide_down_speed\": 600, \"use_alt_layout\": 1, \"disable_resize\": 1, \"disable_zoom\": 0, \"force_show_nav\": 0, \"loop_items\": 1, \"node_link_text\": \"View Image Details\", \"node_link_target\": \"_blank\", \"image_count\": \"Image !current of !total\", \"video_count\": \"Video !current of !total\", \"page_count\": \"Page !current of !total\", \"lite_press_x_close\": \"press \\x3ca href=\\\"#\\\" onclick=\\\"hideLightbox(); return FALSE;\\\"\\x3e\\x3ckbd\\x3ex\\x3c/kbd\\x3e\\x3c/a\\x3e to close\", \"download_link_text\": \"\", \"enable_login\": false, \"enable_contact\": false, \"keys_close\": \"c x 27\", \"keys_previous\": \"p 37\", \"keys_next\": \"n 39\", \"keys_zoom\": \"z\", \"keys_play_pause\": \"32\", \"display_image_size\": \"\", \"image_node_sizes\": \"()\", \"trigger_lightbox_classes\": \"\", \"trigger_lightbox_group_classes\": \"\", \"trigger_slideshow_classes\": \"\", \"trigger_lightframe_classes\": \"\", \"trigger_lightframe_group_classes\": \"\", \"custom_class_handler\": 0, \"custom_trigger_classes\": \"\", \"disable_for_gallery_lists\": true, \"disable_for_acidfree_gallery_lists\": true, \"enable_acidfree_videos\": true, \"slideshow_interval\": 5000, \"slideshow_automatic_start\": true, \"slideshow_automatic_exit\": true, \"show_play_pause\": true, \"pause_on_next_click\": false, \"pause_on_previous_click\": true, \"loop_slides\": false, \"iframe_width\": 600, \"iframe_height\": 400, \"iframe_border\": 1, \"enable_video\": 0 }, \"ahah\": { \"ajax-comments-submit\": { \"url\": \"/ajax_comments/js\", \"event\": \"click\", \"keypress\": null, \"wrapper\": \"comment-form-content\", \"selector\": \"#ajax-comments-submit\", \"effect\": \"ajaxCommentsSubmit\", \"method\": \"before\", \"progress\": { \"type\": \"1bar\", \"message\": \"Пожалуйста, подождите...\" }, \"button\": { \"op\": \"Сохранить\" } }, \"ajax-comments-preview\": { \"url\": \"/ajax_comments/js\", \"event\": \"click\", \"keypress\": null, \"wrapper\": \"comment-preview\", \"selector\": \"#ajax-comments-preview\", \"effect\": \"ajaxCommentsPreview\", \"method\": \"append\", \"progress\": { \"type\": \"1bar\", \"message\": \"Пожалуйста, подождите...\" }, \"button\": { \"op\": \"Предпросмотр\" } } } });\x3c/script\x3e" }
<div style="text-align: center;"><div style="position:relative; top:0; margin-right:auto;margin-left:auto; z-index:99999">
<!-- Start of StatCounter Code -->
<script type="text/javascript">
var sc_project=4884608;
var sc_invisible=1;
var sc_partition=57;
var sc_click_stat=1;
var sc_security="5e7ca857";
</script>
<script type="text/javascript"
src="http://www.statcounter.com/counter/counter_xhtml.js"></script><noscript>...
class="statcounter"><a title="free hit counter"
class="statcounter"
href="http://www.statcounter.com/free_hit_counter.html"><img
class="statcounter"
src="http://c.statcounter.com/4884608/0/5e7ca857/1/"
alt="free hit counter" /></a></div></noscript>
<!-- End of StatCounter Code -->
</div></div>
/ajax_comments/js
{ "status": true, "data": "\x3cdiv class=\"comment-new-success\"\x3e\x3ca id=\"new\"\x3e\x3c/a\x3e\n\x3ca id=\"comment-19\"\x3e\x3c/a\x3e\n\x3cdiv class=\"comment comment-new comment-published odd\"\x3e\n\n \x3cdiv class=\"clear-block\"\x3e\n \x3cspan class=\"submitted\"\x3eЧтв, 05/27/2010 - 19:20 — Вася Пупкин\x3c/span\x3e\n \n \x3cspan class=\"new\"\x3eНовый\x3c/span\x3e\n \n \n \x3ch3\x3e\x3ca href=\"/content/red#comment-19\" class=\"active\"\x3eорп\x3c/a\x3e\x3c/h3\x3e\n\n \x3cdiv class=\"content\"\x3e\n \x3cp\x3eорп\x3c/p\x3e\n \x3c/div\x3e\n \x3c/div\x3e\n\n \x3cdiv class=\"links\"\x3e\x3cul class=\"links\"\x3e\x3cli class=\"comment_edit first\"\x3e\x3ca href=\"/comment/edit/19\"\x3eизменить\x3c/a\x3e\x3c/li\x3e\n\x3cli class=\"comment_reply last\"\x3e\x3ca href=\"/comment/reply/11/19\"\x3eответить\x3c/a\x3e\x3c/li\x3e\n\x3c/ul\x3e\x3c/div\x3e\n \x3c/div\x3e\n\x3c/div\x3e\x3cscript type=\"text/javascript\"\x3ejQuery.extend(Drupal.settings, { \"basePath\": \"/\", \"dhtmlMenu\": { \"slide\": \"slide\", \"siblings\": \"siblings\", \"relativity\": \"relativity\", \"children\": \"children\", \"clone\": \"clone\", \"doubleclick\": 0 }, \"googleanalytics\": { \"trackOutgoing\": 1, \"trackMailto\": 1, \"trackDownload\": 1, \"trackDownloadExtensions\": \"7z|aac|avi|csv|doc|exe|flv|gif|gz|jpe?g|js|mp(3|4|e?g)|mov|pdf|phps|png|ppt|rar|sit|tar|torrent|txt|wma|wmv|xls|xml|zip\" }, \"lightbox2\": { \"rtl\": \"0\", \"file_path\": \"/(\\\\w\\\\w/)sites/default/files\", \"default_image\": \"/modules/lightbox2/images/brokenimage.jpg\", \"border_size\": \"10\", \"font_color\": \"000\", \"box_color\": \"fff\", \"top_position\": \"\", \"overlay_opacity\": \"0.8\", \"overlay_color\": \"000\", \"disable_close_click\": 1, \"resize_sequence\": \"0\", \"resize_speed\": 400, \"fade_in_speed\": 400, \"slide_down_speed\": 600, \"use_alt_layout\": 1, \"disable_resize\": 1, \"disable_zoom\": 0, \"force_show_nav\": 0, \"loop_items\": 1, \"node_link_text\": \"View Image Details\", \"node_link_target\": \"_blank\", \"image_count\": \"Image !current of !total\", \"video_count\": \"Video !current of !total\", \"page_count\": \"Page !current of !total\", \"lite_press_x_close\": \"press \\x3ca href=\\\"#\\\" onclick=\\\"hideLightbox(); return FALSE;\\\"\\x3e\\x3ckbd\\x3ex\\x3c/kbd\\x3e\\x3c/a\\x3e to close\", \"download_link_text\": \"\", \"enable_login\": false, \"enable_contact\": false, \"keys_close\": \"c x 27\", \"keys_previous\": \"p 37\", \"keys_next\": \"n 39\", \"keys_zoom\": \"z\", \"keys_play_pause\": \"32\", \"display_image_size\": \"\", \"image_node_sizes\": \"()\", \"trigger_lightbox_classes\": \"\", \"trigger_lightbox_group_classes\": \"\", \"trigger_slideshow_classes\": \"\", \"trigger_lightframe_classes\": \"\", \"trigger_lightframe_group_classes\": \"\", \"custom_class_handler\": 0, \"custom_trigger_classes\": \"\", \"disable_for_gallery_lists\": true, \"disable_for_acidfree_gallery_lists\": true, \"enable_acidfree_videos\": true, \"slideshow_interval\": 5000, \"slideshow_automatic_start\": true, \"slideshow_automatic_exit\": true, \"show_play_pause\": true, \"pause_on_next_click\": false, \"pause_on_previous_click\": true, \"loop_slides\": false, \"iframe_width\": 600, \"iframe_height\": 400, \"iframe_border\": 1, \"enable_video\": 0 }, \"ahah\": { \"ajax-comments-submit\": { \"url\": \"/ajax_comments/js\", \"event\": \"click\", \"keypress\": null, \"wrapper\": \"comment-form-content\", \"selector\": \"#ajax-comments-submit\", \"effect\": \"ajaxCommentsSubmit\", \"method\": \"before\", \"progress\": { \"type\": \"1bar\", \"message\": \"Пожалуйста, подождите...\" }, \"button\": { \"op\": \"Сохранить\" } }, \"ajax-comments-preview\": { \"url\": \"/ajax_comments/js\", \"event\": \"click\", \"keypress\": null, \"wrapper\": \"comment-preview\", \"selector\": \"#ajax-comments-preview\", \"effect\": \"ajaxCommentsPreview\", \"method\": \"append\", \"progress\": { \"type\": \"1bar\", \"message\": \"Пожалуйста, подождите...\" }, \"button\": { \"op\": \"Предпросмотр\" } } } });\x3c/script\x3e" }
<div style="text-align: center;"><div style="position:relative; top:0; margin-right:auto;margin-left:auto; z-index:99999">
<!-- Start of StatCounter Code -->
<script type="text/javascript">
var sc_project=4884608;
var sc_invisible=1;
var sc_partition=57;
var sc_click_stat=1;
var sc_security="5e7ca857";
</script>
<script type="text/javascript"
src="http://www.statcounter.com/counter/counter_xhtml.js"></script><noscript>...
class="statcounter"><a title="free hit counter"
class="statcounter"
href="http://www.statcounter.com/free_hit_counter.html"><img
class="statcounter"
src="http://c.statcounter.com/4884608/0/5e7ca857/1/"
alt="free hit counter" /></a></div></noscript>
<!-- End of StatCounter Code -->
</div></div>
форма отправки зависает, но после перезагрузки страницы видно, что комментарий уже отправлен.
удаляет же на ура
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Тоже не смог заставить работать... Можно было бы спросить у него http://drupalblog.ru/ , но где его искать?
Новая версия jQuery, 1.4.2? А с версией 1.2.6 или 1.3.2 пробовали?
Я этот модуль изучал, переделывал под себя. И заметил, что с jQuery 1.4.2 он не работает нормально, но причину не искал, т.к. новой версией jQuery пока не пользуюсь...
ну, искоропки в друпале же jQuery 1.2.6, с нам и пробовал. потом уже устанавливал jQuery update
апдейтил до 1.4.2 та же фихня
Да нормально работает модуль аякс-комментов, как часики, без проблем. Проблемы могут быть только тогда, если вы поставите лишние модули, которые могут конфликтовать, или переопределите не те функции.
И кстати, если вы делали где-нибудь form_alter для формы комментов, то тоже будут проблемы. Но тут, конечно, только ваша вина. В общем, на 100% уверен, что проблема в ваших настройках, а не в модуле...
путём отключения всех модулей и включением их заново было установлено, что конфликтует с модулем Lightbox2 6.x-1.9
сейчас разберусь, что там мешает на других сайтах и напишу багрепорт ^_^
А багрепорт кому будете писать: разработчику модуля Lightbox2 6.x-1.9 или AJAX Comments? ^_^
я поставлен в тупик этим вопросом (=
на втором сайте конфликт с темой nebo http://themes4drupal.ru/themes/nebo
помню что authcache вызывал неработоспособность модуля, частично лечилось исключением
проблемный какой модуль, то с одним не работает, то с другим.
причём он ещё и ахаховый, фих поймёшь, из-за чег он не работает
Модуль работает как часики. Это я гарантирую. Тестировал временем. Также модифицировал под свои задачи. Например, у меня пользователи могут удалять свои комменты аяксом...
Тот кто понимает как он работает, сможет найти причину несовместимости с другими модулями. А может это вина тех модулей, которые с ним плохо работают?
Если разработчик аякс-модуля будет подстраиваться под все сторонние модули, то в итоге модуль станет слишком громоздким...
А как же drupal-way? )))
ну это я намекал на то, что у меня руки из того места, откуда должны быть ноги ^_^
А что по твоему есть drupal-way?
Что в моем представлении drupal-way? Наверное это такой стиль разработки, когда достигается максимальная совместимость со всеми без исключения модулями, когда формат написания логической составляющей «звучит унисон» стилю основному ядру CMF, когда при любых комбинациях компонентов максимальная совместимость, устойчивость и безопасность. Когда при включении какого-либо модуля, другие не теряют свой работоспособности и не конфликтуют.
Как видно из практики, довольно часто стиль друпала сам рубит свою гибкость. Взять те-же клиентские части логики, которые не совместимы с заводским jQuery. Другие менее заметные, но очевидные вещи.
Из всего времени моего общения с друпал, именно такая формулировка приходит на ум. Вроде бы всё унифицировано и правила жётские и вроде всё по фэн шую, но на практике .. ))) Естественно нельзя винить разработчика, он не может всё просчитать, но моё мнение: "Друпал мог быть и лояльнее". Это принесло огромную пользу в плане популярности.
Вот только давайте не будем здесь снова поднимать тему: "Не нравится, валите на другую систему или пишите свою".
Не зря же народ матерится и корчится Наверное не просто так и наверное, даже если учесть, что не все обладают достаточной квалификацией, эти вещи просто очевидны.
Drupal-way, на мой взгляд, одновременно и убивает и лечит, но эта идея лишена элементарной дружественности к разработчику. Изюминки это хорошо, хорошо тогда, когда они не заставляют материться при каждом обновлении
В конце концов, каждый сам решает, как ему поступать. Но, к сожалению, довольно сложное ядро и предпосылки отцов системы сводят на нет выбор пользователя. В данном абзаце я имею ввиду, что наверное слишком жестоко заводить такие стандарты. Стандарты CMS это одно, но есть ведь вещи, которые уже давно приняты массами, стандартизированы и позволяют как раз таки пользоваться всеми благами свободы и гибкости Банальный выбор между Strict и Transitional, банальный выбор в применении того или иного визуального плагина и т.д.
Сугубое ИМХО.
Ну, по-моему, все зависит от модулей. Есть простые модули, которые без проблем работают с другими. А есть такие, которые могут работать при определенной конфигурации системы, и полная совместимость с другими модулями проблематична.
Даже когда модули конфликтуют, то иногда неясно чья это вина - в итоге оказывается, что никто не виноват, т.к. модули по своей природе взаимоисключающие друг друга.
Главное - это чтобы модуль был совместим с самим Друпалом:) (КМК, ИМХО)
Типа такое мнение...
Типа сабж (:
И у меня не работает...(( Тупо выдает An error occurred. /ajax_comments/js и зависает
Drupal 6 Ajax коммертарии на сайте. Модуль ajax_comment видеоподкаст - http://www.stepgt.com/content/drupal-6-ajax-kommertarii-na-saite-modul-a...
посмотри код внимательнее ... там не только в начале определение .comments, там править нужно гораздо глубже(+ ещё один селектор на враппер самих комментариев). модуль видимо под какой-то гарланд писался