ВопросНужен совет по реализации.
Вопрос в следующем : во-первых, мне нужно два типа юзеров на сайте(пользователь и компания). То есть при регистрации пользователь заполняет username и email, и выбирает как он хочет зарегистрироваться. После регистрации пользователь остается пользователем(в основном это будут работники компаний), а вот как лучше реализовать вариант с компанией, с учетом того что из них будет делаться каталог, они могут обмениваться сообщениями, добавлять друг друга в закладки, оценивать и т.д. Пробовал просто создавать тип материала Компания, также через Profile2, но в обоих случаях возникали проблемы.
Подскажите как лучше реализовать такое, и как бы вы сделали.
- Мусихерман
- 11.11.2011
- 4481
Комментарии
Совсем недавно решал такую же задачу, но для Drupal 6. Там пользователь при регистрации получал роль обычного юзера. Но он может подать заявку (webform) и стать специалистом. Заявка приходит админу на емейл. Админ заходит на завку на сайте, и даёт её автору роль "специалист". А у роли "специалист" есть права на создание профиля (в Drupal 6 - это content profile, в Drupal 7 - profile 2). И каталог специалистов я собирал из нод профилей. Так что я бы рекомендовал разобраться с Profile 2
Роль можно присвоить с помощью autoassignrole.
А при использовании Profile 2 позже не возникнет проблем при прикручивании всяких социальных плюшек?
Что за социальные плюшки?
Вообщем этот каталог компаний надо реализовать с элементами соц сети. Но только у компаний. Они могут добавлять друг друга в друзья, писать сообщения, добавлять фото, видео, добавлять в закладки интересные компании и прочее.
Понял. Ну да, могут возникнуть трудности со страницами - на разных страницах будет находиться профиль (нода) и сам юзер. Я эту проблему иногда решал редиректом со страницы юзера сразу на профиль, но не всегда это правильный выход.
Можно напихать пользователю полей в профиль по умолчанию (т.е. использовать возможности ядра) в разделе /admin/config/people/accounts/fields, далее поставить модуль field permissions и дать роли "компания" права на редактирование этих полей, а остальным - только на их просмотр.
Вот и я том же. А расковыривать каждый доп. модуль не очень хочется. Вот сейчас как раз столкнулся с этой проблемой в модуле privatemsg, когда в поле получателя(автокомплит) выдаются юзернеймы, а не названия компаний.
На счет field permissions, на первый взгляд то что надо, сейчас попробую.
С Privatemsg тоже сталкивался с такой проблемой. Пришлось переписывать кусок, который выводит имена пользователей.
Не подскажите какой именно?) Так, для общего развития
Я изменял форму отправки сообщений. Там отдавался пользователь в автокомплит, а я переписал, чтобы можно было выбирать из выпадающего списка имя профиля. Код подсмотреть не могу - проект давно уже сдан и благополучно забыт.
Ну ладно. А я пробовал изменить sql запрос в функции который выбирал данные для автокомплита, но ничего не вышло, так как на этой функции завязано еще несколько.
Комментировать