проблемы с 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>

форма отправки зависает, но после перезагрузки страницы видно, что комментарий уже отправлен.

удаляет же на ура

Комментарии

Новая версия jQuery, 1.4.2? А с версией 1.2.6 или 1.3.2 пробовали?

Я этот модуль изучал, переделывал под себя. И заметил, что с jQuery 1.4.2 он не работает нормально, но причину не искал, т.к. новой версией jQuery пока не пользуюсь...

27 мая 2010 в 15:39

Да нормально работает модуль аякс-комментов, как часики, без проблем. Проблемы могут быть только тогда, если вы поставите лишние модули, которые могут конфликтовать, или переопределите не те функции.

И кстати, если вы делали где-нибудь form_alter для формы комментов, то тоже будут проблемы. Но тут, конечно, только ваша вина. В общем, на 100% уверен, что проблема в ваших настройках, а не в модуле...

28 мая 2010 в 15:19

путём отключения всех модулей и включением их заново было установлено, что конфликтует с модулем Lightbox2 6.x-1.9
сейчас разберусь, что там мешает на других сайтах и напишу багрепорт ^_^

28 мая 2010 в 23:05

"Питон_Ъ" wrote:
сейчас разберусь, что там мешает на других сайтах и напишу багрепорт ^_^

А багрепорт кому будете писать: разработчику модуля Lightbox2 6.x-1.9 или AJAX Comments? ^_^

28 мая 2010 в 23:18

проблемный какой модуль, то с одним не работает, то с другим.
причём он ещё и ахаховый, фих поймёшь, из-за чег он не работает

3 июня 2010 в 22:44

"Питон_Ъ" wrote:
проблемный какой модуль, то с одним не работает, то с другим.
причём он ещё и ахаховый, фих поймёшь, из-за чег он не работает

Модуль работает как часики. Это я гарантирую. Тестировал временем. Также модифицировал под свои задачи. Например, у меня пользователи могут удалять свои комменты аяксом...

Тот кто понимает как он работает, сможет найти причину несовместимости с другими модулями. А может это вина тех модулей, которые с ним плохо работают?

Если разработчик аякс-модуля будет подстраиваться под все сторонние модули, то в итоге модуль станет слишком громоздким...

3 июня 2010 в 23:40

"Sinkora" wrote:
Если разработчик аякс-модуля будет подстраиваться под все сторонние модули, то в итоге модуль станет слишком громоздким...

А как же drupal-way? )))

4 июня 2010 в 2:34

"Sinkora" wrote:
Тот кто понимает как он работает, сможет найти причину несовместимости с другими модулями.

ну это я намекал на то, что у меня руки из того места, откуда должны быть ноги ^_^

4 июня 2010 в 4:04

"Sinkora" wrote:
А что по твоему есть drupal-way?

Что в моем представлении drupal-way? Наверное это такой стиль разработки, когда достигается максимальная совместимость со всеми без исключения модулями, когда формат написания логической составляющей «звучит унисон» стилю основному ядру CMF, когда при любых комбинациях компонентов максимальная совместимость, устойчивость и безопасность. Когда при включении какого-либо модуля, другие не теряют свой работоспособности и не конфликтуют.

Как видно из практики, довольно часто стиль друпала сам рубит свою гибкость. Взять те-же клиентские части логики, которые не совместимы с заводским jQuery. Другие менее заметные, но очевидные вещи.

Из всего времени моего общения с друпал, именно такая формулировка приходит на ум. Вроде бы всё унифицировано и правила жётские и вроде всё по фэн шую, но на практике .. ))) Естественно нельзя винить разработчика, он не может всё просчитать, но моё мнение: "Друпал мог быть и лояльнее". Это принесло огромную пользу в плане популярности.

Вот только давайте не будем здесь снова поднимать тему: "Не нравится, валите на другую систему или пишите свою".

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

Drupal-way, на мой взгляд, одновременно и убивает и лечит, но эта идея лишена элементарной дружественности к разработчику. Изюминки это хорошо, хорошо тогда, когда они не заставляют материться при каждом обновлении Smile

В конце концов, каждый сам решает, как ему поступать. Но, к сожалению, довольно сложное ядро и предпосылки отцов системы сводят на нет выбор пользователя. В данном абзаце я имею ввиду, что наверное слишком жестоко заводить такие стандарты. Стандарты CMS это одно, но есть ведь вещи, которые уже давно приняты массами, стандартизированы и позволяют как раз таки пользоваться всеми благами свободы и гибкости Smile Банальный выбор между Strict и Transitional, банальный выбор в применении того или иного визуального плагина и т.д.

Сугубое ИМХО.

4 июня 2010 в 15:22

"Shift-Web" wrote:

Ну, по-моему, все зависит от модулей. Есть простые модули, которые без проблем работают с другими. А есть такие, которые могут работать при определенной конфигурации системы, и полная совместимость с другими модулями проблематична.

Даже когда модули конфликтуют, то иногда неясно чья это вина - в итоге оказывается, что никто не виноват, т.к. модули по своей природе взаимоисключающие друг друга.

Главное - это чтобы модуль был совместим с самим Друпалом:) (КМК, ИМХО)

Типа такое мнение...

4 июня 2010 в 16:04

"stepGT" wrote:

Drupal 6 Ajax коммертарии на сайте. Модуль ajax_comment видеоподкаст - http://www.stepgt.com/content/drupal-6-ajax-kommertarii-na-saite-modul-a...

посмотри код внимательнее ... там не только в начале определение .comments, там править нужно гораздо глубже(+ ещё один селектор на враппер самих комментариев). модуль видимо под какой-то гарланд писался

15 августа 2011 в 5:51