Drupal 6 — модуль с флагом друга — фильтрация добавленных пользователей (или аналогичный)

#drupal #drupal-6 #drupal-views

#drupal #drupal-6 #drupal-просмотры

Вопрос:

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

В основном я пытаюсь добиться некоторой вариации ‘Показывать всех пользователей сайта в представлении, но указывать, какие из них являются друзьями текущего вошедшего в систему пользователя‘. Я бы подумал, что это должно быть легко, но я потратил на это весь день, и это не работает. 🙁

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

Я чувствую, что этот вопрос должен быть более всеобъемлющим, поэтому приношу извинения, если это так!

Ответ №1:

Это решение не является элегантным, но оно бы сработало…

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

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

 db_query('SELECT f.friend_uid FROM {flag_friend} f WHERE f.uid = %d', $user->uid)
  

Я не очень доволен этим, но они будут работать для вас.

Надеюсь, кто-нибудь другой придумает что-нибудь получше.

Комментарии:

1. Это выглядит круто, приветствую. Хорошо, честно говоря, мне нужно немного научиться внедрять подобные вещи… есть ли какие-либо примеры, на которые вы могли бы указать мне направление? Похоже, что там не так много информации о flag_friend_get_friends!

2. Я вижу общую концепцию: получите дружественные идентификаторы, выполните итерацию по строкам, чтобы проверить, совпадают ли они, если да, сделайте что-нибудь со строкой.