Сайт знакомств на Drupal

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

Аватар пользователя overall@drupal.org overall@drupal.org 28 февраля 2009 в 18:37

Здравствуйте.

Подскажите пожалуйста при помощи каких официально бесплатных модулей Drupal (и как (в общих терминах), если модуль не специализированный, а общий по своему назначению) можно реализовать сайт знакомств + соц. сеть с описанным ниже функционалом. Желательно наличие переводов для данных модулей или же возможность безболезненно осуществить данный перевод. Так же если существует несколько способов реализации определенной функциональности, хотелось бы их узнать, что бы была возможность выбрать наиболее подходящий из них. Навыками php владею, так что если для реализации какой-то фишки надо что-то где-то подправить или дописать, без проблем, только желательно, что бы это потом не повлияло на совместимость с другими модулями и на возможность обновления на новые версии модулей.

1) Превратить профайл в анкету
- фотки в профайле (с превью)
- выбрать одну, отображаемую по умолчанию (типа аватар)
- поля в анкете, например "рост", "вес"...
- поле "дата рождения"
- вычислять и отображать поле "возраст" - возраст в годах (полных лет) (вычисляется на основе указанной даты рождения)
- поле "регион" типа "Страна-Область-Город-Метро", сначала в одном select выбирается страна, затем в другом область, в третьем город, и потом метро
2) Панелька пользователя - область отображения самых базовых данных о пользователе (на форумах в постах это - область такая, слева от текста поста обычно)
- отображение панелек пользователей в коментариях
- в самой панельке пользователя отображать: миниатюру основного фото, определенный набор полей из профиля, ссылку на личную переписку, последний визит, наличие пользователя в избранных/ссылку на добавление в избранные
3) Поиск анкет

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

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

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

4) Частная переписка
- отображение частной переписки с каждым пользователем (с которым она была) по отдельности (как на сайтах знакомств), а не вперемешку с перепиской с другими пользователями (как на трекерах или форумах)
- совмещена с модулем избранных пользователей
5) Избранные пользователи или Друзья
6) Черный список
7) Встречи (создаются пользователями)
- указывается поля: "регион", место встречи, время встречи, длительность, ...
- поиск по значениям полей
- можно комментировать
Dirol Система рейтингов
- для фоток в профиле (потом для любой сущности)
9) Подписка на новые анкеты на мыло
- указывается фильтр анкет, как при поиске и при регистрации анкеты соответствующей критериям, сведения о ней высылаются на мыло (возможно не сразу по одной, а пачкой раз в день)

Выше описана основная функциональность. Описанное ниже предполагается возможно дабавить позднее, соответсвенно нужна возможность безпроблемно добавить эту функциональность к существущей.

Блоги, Голосования, Сообщества (Группы), Фотоальбомы, Теги (для любой сущности), Рейтинги (для любой сущности)

И еще вопрос заодно: как для Advanced Forum (+ Author Pane) в панельке пользователя отобразить дополнительные поля, добавленные стандартными средствами Drupal? А то отображает только ссылку на профиль, аватар, "Joined: ..." и иконку статуса онлайн.

Комментарии

Аватар пользователя fairwind fairwind 28 февраля 2009 в 19:08

Вот смотри. У тебя есть набросок ТЗ. Чтобы определиться, скажем, со стоимостью разработки такого сайта на друпале, надо, конечно, узнать, что можно реализовать готовыми модулями, а что дописывать. Т.е. провести анализ.

Анализ - это работа, которая стоит денег. Поскольку надо вникнуть в твой набросок, прошерстить д.о (новые модули появляются как грибы после дождя), желательно еще модули поставить и собрать такой эскизик сайта. По хорошему минимум день работы.

Внимание, вопрос: а сам-то чего не анализируешь?

зы. есть шанс, что щас набегут любители "показывать свою крутость", дабы порадеть за "честь сообщества"...

Аватар пользователя overall@drupal.org overall@drupal.org 28 февраля 2009 в 22:04

Camor wrote:
Вам будет полезно.

С чего взяли что мне нужна партнерка?

Camor wrote:
Приктически всё решаеться с CCK. А вообще начните делать и всё будет понятней. После по конкретным задачам спрашивайте.

Практически всё, это что конкретно, можно поподробней?

Camor wrote:
Вот.

Думаете я сам в гугле не искал? В посте написал, что нужно бесплатное решение. В результатах гугла либо ниочем либо платные варианты. Вы же наверняка сами не смотрели результаты поиска в гугле, и при этом предлагаете мне там еще раз искать. Ну нету там ничего толкового.

"fairwind" wrote:
Вот смотри. У тебя есть набросок ТЗ.

Ну я это и сам знаю, но спасибо что напомнил Smile

"fairwind" wrote:

Чтобы определиться, скажем, со стоимостью разработки такого сайта на друпале, надо, конечно, узнать, что можно реализовать готовыми модулями, а что дописывать. Т.е. провести анализ.

Анализ - это работа, которая стоит денег. Поскольку надо вникнуть в твой набросок, прошерстить д.о (новые модули появляются как грибы после дождя), желательно еще модули поставить и собрать такой эскизик сайта. По хорошему минимум день работы.

Внимание, вопрос: а сам-то чего не анализируешь?

зы. есть шанс, что щас набегут любители "показывать свою крутость", дабы порадеть за "честь сообщества"...

Мне не надо определяться со стоимостью разработки. В моем первом посте написано, что ищу бесплатное решение, а остальное допишу сам если понадобиться.

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

Мне не нужен никакой анализ (где ты там в первом посте углядел, что мне нужен анализ?), мне нужны названия модулей, которые могут выполнять функции указанные в моем первом посте. Предполагалось, что человек, который не знает, как реализуется какой-то указанный мной функционал не будет ничего делать, а будет только в том случае, если знает вариант решения и отпишет мне название модуля, который мне поможет. Ты же пытаешься повесить на меня то, что я пытаюсь переложить какую-то работу на пользователей форума, при этом делаешь это в достаточно агрессивной форме, похожей больше на Троллинг, особенно если учитывать твоё "зы".

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

Аватар пользователя kissfm kissfm 2 марта 2009 в 10:06

Похожее задание и у меня. Вот какие модули я насобирал:
1) content_profile, cck
2) думаю views
3) views и для нужных фильтров, по которым выбирать значения поиска нажать кнопку Expose. Затем установить Exposed form in block: Yes
4) Privatemsg
5) не знаю
6) типа черного списка есть в Privatemsg
7) тип материала создать свой + cck поля прикрутить, выводить через views где-то
Dirol тут наверное fivestar подойдет для оценок. Сам еще не подключал его, но предстоит.
9) точно сказать не могу, не сталкивался.

Аватар пользователя overall@drupal.org overall@drupal.org 2 марта 2009 в 16:30

Спасибо за ответ.

Да, похоже без CCK и Views никуда и не только для этого проекта, а и для многих других.

1) Превратить профайл в анкету - content_profile, cck

- фотки в профайле (с превью)

Есть модуль позволяющий добавлять поля-картинки в ноду ImageField
Я правда его еще не пробовал.
Меня интересует существует ли какой модуль для добавления в ноду поля типа список (массив) нод (другого или этого же типа)?
Если такой модуль существует, то это бы помогло легко организовать фотки в профиле.
Путем создания ноды "фотка" ["название" - text, "фотка" - imagefield] (которую можно было + еще и комментировать, и прочее всё что возможно для ноды).
И добавление в ноду "профиль" поля "список нод" типа "фотка".

- поля в анкете, например "рост", "вес"... - content_profile, cck

- вычислять и отображать поле "возраст" - возраст в годах (полных лет) (вычисляется на основе указанной даты рождения)

Модуль Computed Field И не только для этого может пригодится.

- поле "регион" типа "Страна-Область-Город-Метро", сначала в одном select выбирается страна, затем в другом область, в третьем город, и потом метро

Модуль Hierarchical Select - пока не смотрел. Под 6.x - пока только Dev.

2) Панелька пользователя - сам пока не знаю

3) Поиск анкет - views и для нужных фильтров, по которым выбирать значения поиска нажать кнопку Expose. Затем установить Exposed form in block: Yes
Ага, надо посмотреть.

4) Частная переписка - Privatemsg
Не очень он мне понравится, но походу других вариантов нет...
Смайлы ( Smileys ) с ним работают, но как добавить панельку смайлов к редактору сообщения не знаю...

5) Избранные пользователи или Друзья
Все модули, которые я смотрел реализуют именно функциональность "Друзья", а не "Избранные пользователи".
И модулей именно для "Избранные пользователи" не нашел. Есть просто "избранное", которое если анкету делать как ноду можно использовать как "Избранные пользователи", но все они, как я понял, не поддерживают создание и размещение их по папкам. Их пока еще подробно не смотрел.
Друзья: FriendList, User Relationships
Избранное (закладки):
Click2Bookmark - 5.x only
Flag ( бывший Views Bookmark )
Favorite Nodes - 6.x Dev only - думаю возьму его, если что
Bookmarks

Есть старый модуль от 2006 для 4.7, который поддерживает папки:
http://deekayen.net/bookmarks-module-folders

6) Черный список - типа черного списка есть в Privatemsg
Видимо он и будет, если буду использовать Privatemsg.

7) Встречи (создаются пользователями) - тип материала создать свой + cck поля прикрутить, выводить через views где-то
Посмотрю еще может модуль найду специальный для этого - пока не смотрел...

Dirol Система рейтингов - тут наверное fivestar подойдет для оценок. Сам еще не подключал его, но предстоит.
Пока не смотрел, что есть...

Аватар пользователя kissfm kissfm 2 марта 2009 в 18:53

О, парочку модулей интересных нашел в твоей статье. Пригодятся думаю.
А что значит:
сначала в одном select выбирается страна, затем в другом область, в третьем город, и потом метро ? Они зависимы друг от друга или просто так? Если просто так, то я не вижу смысла об этом спрашивать.
И мне тоже нужно будет переводить дату рождения в возраст. Говоришь Computed Field это может? Если да, то большой камень с души упадет )))

Аватар пользователя penexe penexe 2 марта 2009 в 19:20

"kissfm" wrote:
сначала в одном select выбирается страна, затем в другом область, в третьем город, и потом метро ? Они зависимы друг от друга или просто так?

overall@drupal.org скорее всего имел ввиду что-то вроде http://drupal.ru/node/23269

Аватар пользователя overall@drupal.org overall@drupal.org 2 марта 2009 в 19:58

penexe wrote:
"kissfm" wrote:
сначала в одном select выбирается страна, затем в другом область, в третьем город, и потом метро ? Они зависимы друг от друга или просто так?

overall@drupal.org скорее всего имел ввиду что-то вроде http://drupal.ru/node/23269[/quote]
Да да, именно так. И спасибо за эту ссылку, а то я её потерял.

Аватар пользователя kissfm kissfm 3 марта 2009 в 10:21

У меня не отображается модуль Computed Field на странице модулей, и не могу его естественно подключить.
У кого-то еще такое?

Аватар пользователя VeloTaurus VeloTaurus 5 марта 2009 в 20:57

«И еще вопрос заодно: как для Advanced Forum (+ Author Pane) в панельке пользователя отобразить дополнительные поля, добавленные стандартными средствами Drupal? А то отображает только ссылку на профиль, аватар, "Joined: ..." и иконку статуса онлайн.»

Как вы решили эту задачу?

Аватар пользователя overall@drupal.org overall@drupal.org 6 марта 2009 в 23:55

VeloTaurus wrote:
«И еще вопрос заодно: как для Advanced Forum (+ Author Pane) в панельке пользователя отобразить дополнительные поля, добавленные стандартными средствами Drupal? А то отображает только ссылку на профиль, аватар, "Joined: ..." и иконку статуса онлайн.»

Как вы решили эту задачу?

Именно так как хочу - пока никак.
Хочу так - http://drupal.ru/node/25851
Если кто знает как это сделать, прошу отписать.

Есть возможность отображения полей профиля, но не CCK, а стандартных Profile.
Делается так:
В "advf-author-pane.tpl.php" (той темы Advanced Forum, которая включена) ("sites\all\modules\advanced_forum\styles\naked") вставляется следующий код
<?php print $profile['<Группа полей>']['<profile_name>']['#value']; ?>
Где

<Группа полей> - название группы полей, например: "Личная информация"
<profile_name> - имя поля, например "profile_age"

Если строка <Группа полей> содержит кириллицу, то надо весь файл "advf-author-pane.tpl.php" переконвертить в UTF-8 (тем же блокнотом).

Аватар пользователя overall@drupal.org overall@drupal.org 9 марта 2009 в 0:32

VeloTaurus wrote:
Спасибо за полезную для меня информацию.
Если кому-то пригодится, то есть расширенная информация попеременным author_pane: http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/advanced_fo...
Разобрался, как можно втюхать туда CCK поля (ноднутость профайла организуется by Content Profile):

advf-author-pane.tpl.php (тот, который в активной теме Author Pane) :

<?php
$content_profile = content_profile_load('profile', $account->uid);
print($content_profile->field_name[0]['value']);
?>

"[0]" - если значение единичное, если возможно несколько значений, то обработать их соответственно необходимости

field_name - имя поля, например "field_age"
profile - имя типа ноды профайла

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

Т.к. в моем случае тип поля у меня integer - select list, т.е. выбор одного значения из набора строк,
и сохраняемого в базе по индексу строки из набора как int, то мне надо вывести не просто значение а отображение,
для этого я еще получаю список этих строк (они у меня прописаны в настройках поля как кусок кода, возвращающий массив строк):

<?php
$content_field = content_fields('field_name', 'profile');
$value_list = eval($content_field['allowed_values_php']);

$content_profile = content_profile_load('profile', $account->uid);
print($value_list[$content_profile->field_name[0]['value']]);
?>

Аватар пользователя AsVit@drupal.org AsVit@drupal.org 26 августа 2009 в 1:03

Добрый день!

<a href="mailto:overall@drupal.org">overall@drupal.org</a> wrote:

<?php
$content_profile = content_profile_load('profile', $account->uid);
print($content_profile->field_name[0]['value']);
?>

"[0]" - если значение единичное, если возможно несколько значений, то обработать их соответственно необходимости

field_name - имя поля, например "field_age"
profile - имя типа ноды профайла

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

Т.к. в моем случае тип поля у меня integer - select list, т.е. выбор одного значения из набора строк,
и сохраняемого в базе по индексу строки из набора как int, то мне надо вывести не просто значение а отображение,
для этого я еще получаю список этих строк (они у меня прописаны в настройках поля как кусок кода, возвращающий массив строк):

<?php
$content_field = content_fields('field_name', 'profile');
$value_list = eval($content_field['allowed_values_php']);

$content_profile = content_profile_load('profile', $account->uid);
print($value_list[$content_profile->field_name[0]['value']]);
?>


А можно подробнее?
Как в user-profile.tpl.php вывести отображение данных полей cck из нескольких типов контента (content_profile).. Спасибо!

Аватар пользователя vendetta vendetta 1 февраля 2010 в 15:06

Тоже интересно про интеграцию Autor Pane c ССК полями Content Profile

У меня не получается вставить дополнительную фотку из профиля. там имаджкэш еще...
как ее после обработки пресетом вывести?

Обычные поля выводятся нормально.

Использую вот это:

<?php
$content_profile = content_profile_load('profile', $account->uid);
print($content_profile->field_name[0]['value']);
?>