Talvolta può essere utile condividere i parametri del file di configurazione di Joomla! in altri script. Il caso più frequente può essere quello di connettersi tramite uno script esterno al database usato da Joomla!
Soluzione
Nel file di configurazione di Joomla! (configuration.php) è presente la classe JConfig a cui vengono assegnate varie proprietà, lo apriamo
class JConfig {
var $generator_tag = '';
[ ... altre proprietà ... ]
var $offline_message = 'Sito fuori servizio per manutenzione. Riprovare più tardi.';
}
Per renderle disponibile in uno script esterno non dobbiamo fare altro che includere il file configuration.php
require_once('configuration.php');
poi possiamo instanziare la classe:
$config=new JConfig();
Creiamo la connessione passando come parametri le proprietà host, user e password
$connessione=mysql_connect($config->host, $config->user, $config->password);
Selezioniamo il database passando come parametro la proprietà db:
$gStr_connessione = mysql_select_db($config->db);
A questo punto possiamo creare la stringa della query, ma ricordandoci di includere il prefisso del DB davanti alle tabelle:
$dbprefix=$config->dbprefix;
$sql="SELECT `".$dbprefix."vm_product`.*,`".$dbprefix."vm_product_category_xref`.* FROM `".$dbprefix."vm_product`, `".$dbprefix."vm_product_category_xref` WHERE (".
$dbprefix."vm_product.product_id=".$dbprefix."vm_product_category_xref.product_id) AND ".$dbprefix."vm_product_category_xref.category_id=3;";
A questo punto possiamo eseguire la query...
$result_settore=mysql_query($sql, $connessione);
... e proseguire con lo script utilizzandolo per le nostre esigenze.