Ho trovato questo vecchio topic al quale nessuno ha risposto e siccome vorrei delle
delucidazioni in merito e allo stesso tempo voglio evitare di creare una discussione nuova
(e qualcosa di troppo simile) continuerò su questo topic.
Mi riferirò alla v2.5.Il retrieving dei parametri del component io lo faccio così:
jimport( 'joomla.application.component.helper' );
$params = JComponentHelper::getParams('com_mycomponent');
$params = $params->get('params'); // IDEM: "getValue"
echo $params->my_param_name;
Oppure il alternativa c'è questo metodo abbastanza simile:
jimport( 'joomla.application.component.helper' );
$component = JComponentHelper::getComponent( "com_mycomponent" );
$params = new JParameter( $component->params );
$params = $params->get('params');
echo $params->my_param_name;
Però in rete ho letto altri metodi, per esempio in
questo sito parlando sempre
della 2.5 come metodo è proposto il seguente: (a me questo metodo non funziona.)
jimport( 'joomla.application.component.helper' );
$params = &JComponentHelper::getParams('com_mycomponent');
$param = $params->get('my_param_name', 'defaultValue');
Poi non mi funziona nemmeno questo:
$mainframe = JFactory::getApplication();
$params = new JParameter( $mainframe->params );
$par = $params->get( "my_param_name" );
Non saprei se i metodi proposti sono sbagliati oppure
sono io ad omettere qualche passaggio, in tal caso
vorrei sapere anche io dove (o se) sbaglio qualcosa.
In aggiunta ho visto che qualcuno usa funzioni di questo tipo,
magari messe nel modello, comunque non saprei di nuovo quando
è preferibile/utile usare soluzioni di questo tipo:
function getParam( $key ) {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query
->select( $db->quoteName('params') )
->from( $db->quoteName('#__extensions') )
->where("element = '".$key."'");
$db->setQuery($query);
$results = $db->loadObjectList();
$results = $results[0]->params;
$results = json_decode( $results, true );
$results = $results['params'];
return $results;
}