Необходимо на странице вывести в табличной форме список последнего действия каждого пользователя.
_Никнейм_ __Просматриваемая страница_ ____Дата_________
--------------------------------------------------------------------------------------------------------
_Иванов__ | __________ссылка_______ | время тому назад
Комментарии
Можно любую фигню выводить, причем в любом вьювсе, надо только таблицу описать. И если именно эти данные не собираются модулем статистики(не помню в каком виде оно там) то можно сделать свою таблицу, и добавить счетчик, т.е. сделать небольшой модуль. Однако, как мне кажется, задача далеко не индивидуальная, и при этом тривиальная(такой модуль можно написать минут за 10), так что должно быть готовое решение.
за пару лет тут так и не дали решения. хочется мне знать кто из 20 юзеров где в данную секунду находится... или находился... в промежуток некий.
вопрос как. понятно что инструментом этим можно все чо угодно подтянуть из бд...
В самом худшем случае:
Создаете таблицу с полями uid, URL, date(для примера)
Через хук при просмотре ноды заполняете ее
Создаете описание таблицы для вьювс
Через крон ограничиваете её размер
Profit
при включенной статистики можно вьюху создать где вывести. но там выводятся все...
допустим гостей я отфильтрую и выбиру промежуток статистики за последние 15 минут... действия...
но как от одного юзера зять последнее его действие в этот промежуток???
А вообще есть смысл заглянуть в таблицу статистики. И если нужно видеть вообще все что делают юзеры то можно писать в базу на прямую, т.е. без хуков
Она уже есть, history называется.
Но инферне ж надо будет обязательно и ноды и вьюхи, и какой коммент читает
про 15 минут, там везде дата в формате UTC,(кроме модуля date) если вьювс не может выводить именно за 15 минут, создайте свой хендлер для фильтров
Виктор, мне желательно исключая все админ лазанья.
Пока что вопроса два.
как выводить только последнее действие
и как отфильтровать все страницы что идут после /admin/*
Ну если нужно все, то запись в базу сделать прямо в теле модуля без хуков, однако в этом случае q возможно будет не обработан, т.е. Такую возможность стоит учесть
Про "последнее действие" не понял. arg()
не мне если взаправду.
страницы вьюхи, страницы нод, страницы профиля
как минимум.
ну сечас выводит например ник и все его действия за последние пол часа. как мне выводить последнее действие пользователя в рамках этих полу часов...
последняя посещенная страница...
А нет, если q не обработан то arg использовать нельзя ибо будет давать неверные аргументы остальным модулям
Сортировка по времени, группировка по пользователю, оно же уникальность
Впринципе любую инфу можно также запихать в эту таблицу, к примеру создание либо удаление материала, правда этот учет ведется собакой, но это не совсем удобно
группировка по юзеру сгрупирует все его страницы лишь, а нужно вывести одну единственную последнюю страницу которую он посетил...
Это называется сортировкой по пользователю, вам же нужна именно группировка, оно же group by в SQL и уникальность во вьювс с desc сортировкой по времени. т.е. Что то типа select url from table sort by datetime desc group by uid, только порядок не помню, толи группировка после сортировки толи наоборот, вот из той конкретной таблицы получите список последних url всех пользователей в виде 1 url per uid, т.е. Вьюха должна построить аналогичный запрос
отфильтровал все урл где admin встречается.
вы наверное об агрегации говрите - включить её? - в 7 друпале вроде это агрегацией полей называется...
Видимо про нее, я уже 3й месяц в "отпуске"(с удаленной поддержкой 6 ветки, потому её до сих пор помню) на дв, пью пиво, брожу по лесам, ловлю крабов, занимаюсь прочим непотребством(женщины тут как на подбор), а вы мне тут что то про вьювс, да еще и про 3 это самое...
но она не помагает или я как то не так её применяю.
отфильтровал все. осталась последняя задача - вывести только последнее посещенную страницу для каждого пользователя. за последние 10 минут.
лучше конечно выводить просто последнее посещенная страница за все время нахождения на сайте.
но это проблематично ибо хистори на 3 дня у меня настроено потом удаляется.
если только свой модуль писать гкотрый будет сохранять последнее посещение юзера.
решения вывести только последнее посещение каждого юзера - не найдено еще!!!