Доработать реферальную систему компонента "Биллинг пользователей" для закрытой регистрации
- Предыдущая
- 1
- 2
- Показаны 16-19 из 19
Если я не ошибаюсь реферальная ссылка делает ровно тоже — передает идентификатор пользователя которые привел нового пользователя на сайт.
Все правильно понимаете VAL ID пользователей инвайтера хранятся в колоночках inviter_id,invites_count и тд. Может блеснете знаниями!, просветите чайника как правильно данные инвайтера использовать в любом другом компоненте включая биллинг чтоб можно было просто кнопочки в админке нажимать.
Богатырь, про билинг ничего не могу вам сказать — не работал с ним. Но ID пользователя выдавшего приглашение хранится в таблице cms_users в колонке inviter_id. Т.е. можно получить все данные инвайтера и использовать их в билинге или любом другом компоненте. Под словом "использовать" я подразумеваю "применять в коде", а не "щелкать кнопочки в админке".
Если я не ошибаюсь реферальная ссылка делает ровно тоже — передает идентификатор пользователя которые привел нового пользователя на сайт.
<?php class actionUsersInvite extends cmsAction { public function run($user_id=false){ if (!cmsUser::isLogged()) { cmsCore::error404(); } if (!$user_id) { $user_id = cmsUser::getInstance()->id; } $inviter = $this->model->getUser($user_id); $users = $this->model->filterEqual('inviter_id', $user_id)->getUsers(); return '<a href="'.href_to('users', $user['id']).'" target="_blank">'.$user['nickname'].'</a>'; }, $users); } cmsUser::addSessionMessage($inviter['nickname'] . ' пригласил следующих пользователей: ' . implode(', ', $links)); } else { cmsUser::addSessionMessage('У ' . $inviter['nickname'] . ' нет последователей!'); } $this->redirectBack(); } }
Теперь перейдите по ссылке вида sitename/users/invite (для текущего пользователя) или sitename/users/invite/id_пользователя (для любого конкретного пользователя), покажется сообщение с перечнем приглашенных пользователей. Указанные ссылки можете добавить куда хотите хоть в админку хоть в профили пользователей =)
Не слишком ярко получилось?Может блеснете знаниями!
Ладно прибедняться блеснул так блеснул все же наработка очень полезная и мне пригодилась, теперь в профиле у пользователей есть заметка кто сколько пригласил по инвайтам плюсик в карму
Вот пример: создайте файл ..\system\controllers\users\actions\invite.php и скопируйте в него следующий код
- Предыдущая
- 1
- 2
- Показаны 16-19 из 19