Вывод статистики продаж (Commerce) в профиль к пользователю.

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

Аватар пользователя Perfectus Perfectus 2 февраля 2014 в 10:22

Добрый день!
Имеется магазин по продаже видео лекций на базе Commerce.
По согласованию с администрации у пользователей есть возможность разместить свои лекции на портале.
Стоит задача вывода статистики продаж именно их товаров в профиль к пользователю (кнопка/вкладка)
Установил модуль Commerce Reports, он обеспечивает нужными отчетами.
Вопрос:
Каким образом можно вывести кнопку в профиль к пользователю, отражающую статистику по продажам только его товара?

Комментарии

Аватар пользователя AI AI 2 февраля 2014 в 11:22

Views. Весь коммерс построен на вьюхах. Достаточно во вьюхе указать адрес меню, куда выводить ссылку на представление. И вот там именно указать не простой пункт меню, а таб (закладку) = стилизовать под кнопку можно. Возможно, во вьюхе потребуется через отношения подтянуть пользователя и сделать проверку аргументов на предмет равенства аргумента идентификатору пользователя (%1 = UID). Ну и ограничение прав на просмотр, если надо. Тогда при входе в профиль пользователя, прошедший проверку пользователь увидит вкладку (кнопку) "статистика продаж", войдя в нее вьюха будет построена на основании UserID из арумента адресной строки, плюс отфильтрована от остального мусора.
Соббсно поиск на предмет "дополнительная вкладка в профиле пользователя" даст пищу для размышлений.
Мда, если коммерс стоит, то он уже натолкал в профиль пользователю вкладок типа "мои заказы". Посмотрите как эти вьюхи настроены.

Аватар пользователя Perfectus Perfectus 2 февраля 2014 в 21:00

Благодарю, вывел в профиль пользователей с ролью "Партнер" статистику продаж добавив страницу во вьюху Product reports (Commerce Line Item).
Дал следующие права для роли "Партнер":
"Просматривать любой заказ"
"Просмотр всех товаров любого типа"
После этого пользователь с этой ролью не видит другие отчеты Commerce Reports, но видит всю статистику по всем заказам продуктов (Product reports).
Вы написали, что нужно "Возможно, во вьюхе потребуется через отношения подтянуть пользователя и сделать проверку аргументов на предмет равенства аргумента идентификатору пользователя (%1 = UID)" и "войдя в нее вьюха будет построена на основании UserID из арумента адресной строки, плюс отфильтрована от остального мусора."
Я сделал для товара поле "Автор" (field_autor) через Entity Reference. То есть допер таки как "закрепить" каждый товар-видео за отдельным пользователем.
Согласно вашей рекомендации теперь мне нужно отфильтровать все заказы в этой вьюхе по этому полю так?
Я нахожу в критериях фильтрации данное поле - Commerce Товар: Автор (field_autor):

Подскажите пожалуйста какое нужно подставить значение, и все ли я правильно делаю?

Аватар пользователя Perfectus Perfectus 2 февраля 2014 в 22:37

Теперь, как Вы и советовали, еще подтянул через "Отношения" поле которое задал для товаров ("Автор" (field_autor) через Entity Reference)
В "Критериях фильтрации" появились дополнительные поля:

Пользователь: Authmap ID
Authmap ID
Пользователь: ID пользователя
Необработанный числовой ID пользователя.
Пользователь: Активен
Активен пользователь или заблокирован.
Пользователь: Дата создания
Дата заведения учетной записи пользователя.
Пользователь: Изображение
Картинка пользователя, если доступно.
Пользователь: Имя (сырое)
Имя пользователя или автора. Фильтр не проверяет существование пользователя и принимает частичные совпадения. Автодополнение не используется.
Пользователь: Имя идентификации
Уникальное имя идентификации.
Пользователь: Модуль авторизации
Имя модуля, управляющего проверкой удостоверяющей записи.
Пользователь: Название
ID пользователя
Пользователь: Подпись
Подпись пользователя.
Пользователь: Последнее посещение
Дата последнего доступа пользователя.
Пользователь: Последний вход
Дата последнего захода пользователя на сайт.
Пользователь: Право доступа
Права доступа пользователя.
Пользователь: Роли
Роли пользователя.
Пользователь: Текущий
Фильтраци представления по текущему вошедшему пользователю.
Пользователь: Электронная почта
Адрес электронной почты пользователя. Обычно это поле не показывается пользователям, поэтому будьте осторожны при его использовании.
Пользователь: Язык
Язык пользователя

Скажите пожалуйста, какой из этих критериев использовать и что подставить в качестве значения?

Аватар пользователя Perfectus Perfectus 3 февраля 2014 в 0:23

Решил вроде.
Использовал поле
Пользователь: Текущий
Фильтраци представления по текущему вошедшему пользователю.
Там соответственно значение "Активен".
Но я изначально неверно сделал, для того чтобы у пользователя не было возможности просматривать отчет по данной ссылке:
admin/commerce/reports/products
но при этом была возможность смотреть отчеты по своему товару из вкладки в профиле (user/207/products), нужно я полагаю, создавать отдельную вьюху, а не делать страницу в уже существующей - Product reports (Commerce Line Item).
Сделал, так теперь у пользователя с ролью "Партнер" нет возможности смотреть отчеты отсюда admin/commerce/reports/products, но есть возможность смотреть продажи по своим товарам.
Остался один вопрос. У роли "Партер", как я уже говорил, есть права на:
Orders:
Просматривать любой Заказ
и
Products:
Просмотр всех товаров любого типа
Что это может им дать и безопасно ли это?