有効なプラグインにJPluginHelper::getPlugin
のみアクセスできるため、データベースに直接アクセスするためのコードを次に示します。
// Build query
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query
->select( 'params' )
->from( '#__extensions' )
->where( 'type = ' . $db->q('plugin') )
->where( 'folder = ' . $db->q('authentication') ) // Plugin type
->where( 'element = ' . $db->q('gmail') ) // Plugin element
;
// Execute query
$db->setQuery($query);
try
{
$result = $db->loadResult();
}
catch (RuntimeException $e)
{
return false;
}
// Parse parameters
if (!empty($result))
{
$params = new JRegistry($result);
$val = $params->get('key', 'defaultValue');
}
クエリ結果を JFormField オブジェクトに保存できるため、フィールドが複数回利用できる場合にデータベース クエリを保存できます。
protected $results = null;