Доступ к контенту только после заполнения анкеты

Главные вкладки

Аватар пользователя skotin skotin 25 ноября 2009 в 10:48

Коллеги!

Вот такая задача: Есть опросник (анкета, survey), выполненный средствами webforms. Как сделать, чтобы анонимный юзер получал доступ к материалу (некой ноде) только после заполнения опросника?

Программа максимум:

Автор постит материал (через десктопный клиент), при создании нового материала автоматически создается клон опросника (triggers? а как именно?), который привязывается к материалу (как-то привязывается, например через доп. поле). На главной странице повисает тизер материала и с него идет линка на опросник, после заполнения юзер попадает на страницу самого материала. На гл. странице несколько тизеров разных материалов и все они линкуются на основной материал через опросник)

Программа минимум: Клоны опросников создаются ручками. Связывание ручное.

Спасибо.

Комментарии

Аватар пользователя Geldora Geldora 25 ноября 2009 в 12:12

Я бы сделала так:

1. Опросник = профиль пользователя.
2. Доступ к контенту только зарегистрированным.
3. Все поля профиля обязательны при регистрации.

Готово.

Минусы - в Друпале (почему-то) не возможно нормально получить данные из профиля, типа: из 5 пользователей 2 выбрали то-то, 1 это, а еще 2 проигнорировали...

Может, если через контент профайл, будет лучше...

Аватар пользователя skotin skotin 25 ноября 2009 в 13:09

Да в случае с зерегистрированными юзерами так бы получилось.

Задача, однако, требует анонимам иметь доступ к контенту после заполнения опросника Sad Без регистрации.

Аватар пользователя WiseMan WiseMan 25 ноября 2009 в 14:40

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

Проверку на наличие (права доступа) можно реализовать через модуль, либо через костыль - внутри файла шаблона для конкретной ноды, типа материала и и т.п.

Аватар пользователя skotin skotin 25 ноября 2009 в 23:33

Webform умеет чекать IP. Так что сама форма работает с анонимами. Тут вопрос скорее как сделать, чтобы контент был недоступен до заполнения ну и как написать редирект после заполнения, чтоб туда передавались id ноды контента. Откуда вот его брать. Но в идеале хочется автоматики. Чтоб не нужно было создавать это поле референсов в нод типе контента и ручками связывать опросник и контент.

Аватар пользователя skotin skotin 25 ноября 2009 в 23:33

Webform умеет чекать IP. Так что сама форма работает с анонимами. Тут вопрос скорее как сделать, чтобы контент был недоступен до заполнения ну и как написать редирект после заполнения, чтоб туда передавались id ноды контента. Откуда вот его брать. Но в идеале хочется автоматики. Чтоб не нужно было создавать это поле референсов в нод типе контента и ручками связывать опросник и контент.