Вопрос про Buddylist2. А могут ли стать друзьями пользователи, которые уже зарегистрированы на сайте?

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

Аватар пользователя Shagi Shagi 27 января 2009 в 3:02

Вопрос про Buddylist2. А могут ли стать друзьями пользователи, которые уже зарегистрированы на сайте?
И еще про друзей.
Надо вывесить список друзей онлайн и надо показать друзей, которые были на сайте. Это реально?
Ну пользователи кто есть на сайте, это понятно... А друзья?
А те кто уже побывал?

Комментарии

Аватар пользователя scandi scandi 30 января 2009 в 19:56

Вот вьюшка для показа друзей.
Прикрутить онлайн не проблема.

  $view = new stdClass();
  $view->name = 'Buddies';
  $view->description = 'Buddies of the given user';
  $view->access = array (
);
  $view->view_args_php = 'global $user;
// Make the first argument the uid of the current user if not already set
if(arg(0) == "user" && is_numeric(arg(1))){
  $args[0] = arg(1);
}else{
  $args[0] = $user->uid;
}
return $args;'
;
  $view->page = FALSE;
  $view->page_title = '';
  $view->page_header = '';
  $view->page_header_format = '1';
  $view->page_footer = '';
  $view->page_footer_format = '1';
  $view->page_empty = '';
  $view->page_empty_format = '1';
  $view->page_type = 'node';
  $view->url = '';
  $view->use_pager = FALSE;
  $view->nodes_per_page = '0';
  $view->block = TRUE;
  $view->block_title = 'Buddies';
  $view->block_header = '';
  $view->block_header_format = '2';
  $view->block_footer = '';
  $view->block_footer_format = '2';
  $view->block_empty = 'Пока друзей нет.';
  $view->block_empty_format = '3';
  $view->block_type = 'list';
  $view->nodes_per_block = '10';
  $view->block_more = TRUE;
  $view->block_use_page_header = FALSE;
  $view->block_use_page_footer = FALSE;
  $view->block_use_page_empty = FALSE;
  $view->sort = array (
    array (
      'tablename' => 'node',
      'field' => 'created',
      'sortorder' => 'DESC',
      'options' => 'normal',
    ),
  );
  $view->argument = array (
    array (
      'type' => 'buddylist2_buddies',
      'argdefault' => '7',
      'title' => '',
      'options' => '',
      'wildcard' => '',
      'wildcard_substitution' => '',
    ),
  );
  $view->field = array (
    array (
      'tablename' => 'users',
      'field' => 'name',
      'label' => '',
    ),
    array (
      'tablename' => 'node',
      'field' => 'nid',
      'label' => '',
    ),
    array (
      'tablename' => 'usernode_users',
      'field' => 'uid',
      'label' => '',
    ),
  );
  $view->filter = array (
    array (
      'tablename' => 'node',
      'field' => 'status',
      'operator' => '=',
      'options' => '',
      'value' => '1',
    ),
    array (
      'tablename' => 'node',
      'field' => 'type',
      'operator' => 'OR',
      'options' => '',
      'value' => array (
  0 => 'usernode',
),
    ),
  );
  $view->exposed_filter = array (
  );
  $view->requires = array(node, users, usernode_users);
  $views[$view->name] = $view;
Аватар пользователя Shagi Shagi 30 января 2009 в 23:39

В принципе неплохо.
Но модуль user_relationships имеет больше возможностей. Взять хотя бы:
1. Интеграция с личными сообщениями
2. Возможность создавать несколько взаимоотношений
3. Свои вьюхи и блоки.

Спасибо за совет. Думаю многим пригодится!