Немного предыстории: Как вы видите на http://charlotte.ebayclassifieds.com , если вы нажмете «опубликовать объявление», а затем выберете категорию, вы можете заполнить форму и отправить контент без необходимости регистрации. Все это делается и управляется путем отправки проверочных писем в поле адреса электронной почты, которые при нажатии позволяют пользователю манипулировать своим контентом.
Может ли подобная функциональность быть достигнута в Drupal. Я не против написать модуль, но прежде чем я это сделаю, я хочу убедиться, что я не изобретаю велосипед заново.
У меня есть местный сайт объявлений Drupal для моего сообщества по адресу http://www.gastonia.com . Сайт растет в анонимном трафике, но мало кто подписывается на пост. После пары обратной связи с сообществом, почти все говорят, что единственным препятствием для входа является регистрация аккаунта, проверка электронной почты, проверка, выяснение того, как перемещаться, чтобы опубликовать объявление и т. Д. - действительно, есть 7 шагов необходимо пройти, прежде чем объявление действительно будет опубликовано. Это слишком много..
Мы переработали архитектуру, чтобы иметь возможность сократить ее до двух кликов - нажмите, чтобы опубликовать, затем нажмите, чтобы сохранить. В частности, пользователь нажимает «Добавить контент», и появляется форма «узел / добавить» (теперь в новой архитектуре только один тип контента); Затем, когда они сделаны, они нажимают сохранить.
Первоначально я думал о модуле Inline Registration , но он все еще находится в DEV, и логика действительно не для поддержки, если пользователь снова возвращается, чтобы публиковать сообщения с тем же адресом электронной почты (без входа в систему). Я мог бы изменить это, но потом мы вернулись к написанию модуля.
Я также подумал о правилах - могут ли правила обрабатывать те же функции, что и сайт ebayclassifieds, или что я пытаюсь сделать? Все это будет основано на электронной почте, поданной в форме узла / добавления (функциональность CRUD).
Какое направление или рецепт вы бы предложили для достижения функциональности? Конечно, конечная цель здесь - разрешить пользователям размещать сообщения; создать аккаунт за кулисами для будущего использования; разрешить использование анонимной формы даже для пользователей с электронными письмами, у которых уже есть учетные записи (и назначать контент соответствующим образом), при сохранении безопасности (от спама, ботов), которая обеспечивается тем, что пользователь регистрирует и аутентифицирует учетную запись.
РЕДАКТИРОВАТЬ: 01.04.2013 Gisle Hannemyr возродил модуль Anonymous Publishing, который очень близок к достижению целей, описанных здесь и в других публикациях. Пожалуйста, примите участие в обсуждении, чтобы предоставить сообществу обратную связь о том, как сделать модуль свободным от ошибок и улучшить его: http://drupal.org/node/1957644
Ответы:
Я не думаю, что это возможно только с помощью правил.
Вам нужно изменить форму отправки, чтобы получить адрес электронной почты для подтверждения, а также вам нужна логика для запрета спамеров и распознавания возвращающихся посетителей.
Я поддерживаю проект под названием Anonymous Publishing . Похоже, что этот модуль делает то, что вы хотите.
Он все еще находится в разработке, но версия Drupal 7 использовалась на нескольких моих производственных сайтах без каких-либо проблем. Пожалуйста, проверьте это.
Вы также можете посмотреть ответы на этот вопрос .
источник
Я достиг чего-то похожего в недавнем проекте, создав новый обратный вызов меню - что-то вроде этого
example.com/anon_user
- который предоставляет форму, которая дублируется как логин и форма регистрации. Это позволяет пользователю очень быстро пройти процесс регистрации или войти в систему, не заставляя его выполнять слишком много действий. Это на самом деле было принято довольно хорошо.Вот некоторый упрощенный код, чтобы продемонстрировать это:
Подтвердите его, однако вам нужно:
В обработчике отправки нам нужно выяснить, существует ли это письмо, и попытаться войти в него. Если его нет, попробуйте создать для него учетную запись.
Это довольно простой пример. Вы можете добавить требования к паролю, подтверждение пароля через 2-е поле, поле имени пользователя, более точные предупреждения и т. Д. Чем больше ограничений, тем дольше процесс, поэтому об этом следует помнить.
источник
Есть много способов снизить «барьер регистрации»:
Чтобы ответить на ваш последний вопрос:
Я предлагаю использовать функцию «регистрация анонимного узла» (я могу поделиться кодом, если хотите). Я добавляю поля «имя» и «адрес электронной почты» в форму «Добавить узел».
Если электронная почта еще не существует, она создаст новую учетную запись пользователя. Он использует имя для создания имени пользователя и добавляет числа, если необходимо, чтобы сделать его уникальным.
Пароль устанавливается случайным образом и отображается пользователю после отправки узла со ссылкой для смены пароля.
Кроме того, подтверждение по электронной почте не будет препятствовать регистрации спам-ботов. Я настоятельно рекомендую модуль spambot .
источник
Там также этот модуль сейчас тоже: создать и зарегистрироваться
источник