if add a config.xml to your admin folder and than you edit the defines.php and have the following it works very well.
/*
* Retrieves the data, using a cached set if possible
* @return array Array of objects containing the data from the database
*/
public function getData()
{
$cache = JFactory::getCache('com_locator.defines');
$cache->setCaching(true);
$cache->setLifeTime('86400');
$data = $cache->call( array($this, 'loadData') );
return $data;
}
/**
* Loads the data from the database
*/
public function loadData()
{
// TODO Loading the component with the helper doesn't work because everything is protected so we can't loop it
// also this is useful because we now now the component ID, and the option, and enabled status of a component
// $data = JComponentHelper::getParams('com_locator');
//
$option = 'com_locator';
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('extension_id AS "id", element AS "option", params, enabled');
$query->from('#__extensions');
$query->where('`type` = '.$db->quote('component'));
$query->where('`element` = '.$db->quote($option));
$db->setQuery($query);
$result = $db->loadObject();
$data = json_decode($result->params);
$data->id = $result->id;
$data->option = $result->option;
$data->enabled = $result->enabled;
return $data;
}
/**
* Set Variables
*
* @acces public
* @return object
*/
public function setVariables()
{
$success = false;
$data = $this->getData();
if ( !empty($data) )
{
foreach($data as $title => $value) {
if (!empty($title)) {
$this->$title = $value;
}
}
$success = true;
}
return $success;
}
if add a config.xml to your admin folder and than you edit the defines.php and have the following it works very well.
/* * Retrieves the data, using a cached set if possible * @return array Array of objects containing the data from the database */ public function getData() { $cache = JFactory::getCache('com_locator.defines'); $cache->setCaching(true); $cache->setLifeTime('86400'); $data = $cache->call( array($this, 'loadData') ); return $data; }