请帮忙,这是我写的第一个插件,我完全迷路了。我正在尝试使用我的自定义giveBadge()函数在 joomla 数据库的表中写入和更新信息。这些函数接收两个不同的变量,第一个变量是$userID,第二个变量是数字300 ,我使用giveBadge(300)在类的底部传递它。同时比较 Joomla 数据库中的$userID以确保将数字300分配给登录 Joomla 站点的当前用户。
提前致谢。
<?php
defined('JPATH_BASE') or die;
class plgUserBadge extends JPlugin
{
public function onUserLogin () {
$user =& JFactory::getUser();
$userID =& user->userID;
return $userID;
}
public function giveBadge ($userID, &$badgeID) {
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Fields to update.
$fields = array(
'profile_value=\'Updating custom message for user 1001.\'',
'ordering=2');
// Conditions for which records should be updated.
$conditions = array(
'user_id='.$userID,
'profile_key=\'custom.message\'');
$query->update($db->quoteName('#__user_badges'))->set($fields)->where($conditions);
$db->setQuery($query);
try {
$result = $db->query();
} catch (Exception $e) {
// Catch the error.
}es = array(1001, $db->quote('custom.message'), $db->quote('Inserting a record using insert()'), 1);
}
}
giveBadge(300); //attaches to $badgeID
?>