web-dev-qa-db-ja.com

Joomla外からユーザーにポイントを追加する方法はありますか?

私はJomSocialで構築されたコミュニティと連携するWebアプリを構築しました。コミュニティ内のユーザーがアプリで何かをしたときにポイントを獲得できるようにしたいと考えています。私はすでにアプリに組み込まれているJoomlaと関係がありますが、ポイントの機能に関するドキュメントを見つけることができません。

助言がありますか?

1
dawoodman71

@ooooooのお勧めのおかげで、このコードを使用してポイントを追加するメソッドを作成しました。

コードでのUserPoints APIの呼び出しユーザーにポイントを付与する場合は、必要な場所にコードを挿入してAPIを呼び出す必要があります。

include_once JPATH_ROOT。 '/ components/com_community/libraries/core.php'; include_once JPATH_ROOT。 '/ components/com_community/libraries/userpoints.php'; CuserPoints :: assignPoint( 'your.action.string');

Your.action.stringは、現在ログインしているユーザーに付与されるポイント数をデータベースに登録したルールです。 'com_name.profile.upload.avatar'などのコンポーネントに一意のアクション文字列を指定する必要があります。現在ログインしているユーザーではなく別のユーザーにポイントを付与したい状況では、次の方法でAPIを呼び出すことができます。

include_once JPATH_ROOT.'/components/com_community/libraries/core.php';
include_once JPATH_ROOT.'/components/com_community/libraries/userpoints.php';
CuserPoints::assignPoint('your.action.string', 62);

2番目のパラメーターとしてuserId(62)を指定すると、APIは指定されたユーザーにポイントを付与します。

これが私が使った方法です。それが誰かを助けることを願っています。

include_once JPATH_ROOT.'/components/com_community/libraries/core.php';
include_once JPATH_ROOT.'/components/com_community/libraries/userpoints.php';
function addPoints($user_id, $action_string = null){
    if($function_name == null){ $action_string = DEFAULT_ACTION_STRING; }
         CuserPoints::assignPoint('your.action.string', $user_id);
    }
}
1
dawoodman71