2009-12-10 1 views
2

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

У меня есть установленные службы, и я могу публиковать анонимные комментарии, используя comment.save. Я изменил Input Formats, если это может сломать что-то.

Я включил оба анонимного пользователя post comments и access comments. Комментарии не отображаются в базе данных. На самом деле, родная функция Drupal comment_save не вызывается, когда я пытаюсь прокомментировать как анонимный (я проверяю это, добавляя print_r($edit);die(); в верхней части функции comment_save в comment.module. Также я прочитал что-то, что не имеет пользователя с UID 0 (очевидно, поскольку комментирование через Службы работает)

Я опробовал модуль AntiSpam и отправил комментарий как анонимный, который будет пойман (и сделал) в спамфильтре, но этот модуль теперь отключен

У меня действительно есть идеи, есть ли у кого-нибудь другие предложения о том, что делать? В то же время я собираюсь попытаться отменить код, чтобы выяснить, почему comment_save() не вызывается.

Редактировать: анонимным пользователям также не нужно отправлять электронную почту и т. Д., Если это имеет значение.

ответ

1

Что вы говорите, я подозреваю, что проблема связана с некоторыми внесенными изменениями кода в форме комментариев и его модификацией таким образом, что это приводит к сбою подачи. Это может быть вызвано рядом причин: jQuery, который добавляет поля в форму без восстановления идентификатора формы на сервере, добавленное или cusomised поле, которое изменяет обратный вызов для отправки формы и т. Д.

Я не могу знать это точно, но вот что я хотел бы сделать, если бы я тебя, чтобы проверить, что с вашей установкой:

  • Убедитесь, что вы disinstalled (и не только инвалидов) модули, которые вы проделывали и больше не использовать. Модули никогда не должны касаться основных таблиц, но кто знает ... Это ничего не стоит и фактически освобождает часть вашей БД.

  • Попробуйте отключить все модули Contrib и посмотреть, можете ли вы прокомментировать этот путь. Если это так, активируйте модули contrib по одному, пока не выясните, кто из них виновен. Скорее всего, вы уже найдете патч/обходной путь в очереди ошибок для этого модуля на http://drupal.org. Если вы не нашли исправления, я бы исследовал (xdebug или ручное отслеживание) код, и я хотел бы обратить особое внимание на все реализации hook_form_alter() и hook_form_FORM_ID_alter().

  • Если даже отключить все модули вно не помогает (я был бы очень удивлен, в), попробуйте обновить ядро ​​с новой установкой, если вы считаете, как вероятность того, что ваш кот ходил на клавиатуре пока вы был открыт файл ядра, или you live with Gordon Brown's family.

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

HTH!

+0

Я искал предлагаемые функции и попытался отключить те, которые реализовывали функцию один за другим, и теперь она снова работает, виновником в этом случае является «input_format_permissions». Я довольно новичок в Drupal, поэтому я также благодарю вас за контрольный список отладки для Drupal. :) – Marco

+0

Не беспокойтесь, радуйтесь, что это сработало! :) – mac

1

Я решил это один раз, сбросив таблицу разрешений (http://drupal.org/node/64114), но я бы сделал правильную резервную копию и сохранил страницу разрешений на вкладке, на всякий случай.