it-swarm-eu.dev

Ottieni parametri per un modello specifico all'interno di un file di libreria

È possibile ottenere parametri per un modello specifico (non necessariamente il modello attivo)?

Tutto il consiglio sarebbe apprezzato.

// modifica Il modello NON sarà attivo, quindi ho bisogno di ottenere i parametri del modello senza:

$app = JFactory::getApplication('site');
$template = $app->getTemplate(true);
$param = $template->params->get('paramName', defaultValue);
5

Puoi farlo in questo modo:

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query  ->select('params')
        ->from('#__template_styles')
        ->where('`template` = ' . $db->q('beez3')) // Just replace 'beez3' with with the name of your template
        ->where('client_id = 0'); // client_id = 0 for SITE and client_id = 1 for ADMIN templates
$db->setQuery($query);
$params = json_decode($db->loadResult());
echo $params->wrapperSmall; // replace wrapperSmall with desired parameter key

Spero che sia d'aiuto.

2
Farahmand

Per ottenere i parametri del modello attivo, è possibile utilizzare quanto segue:

Codice di @GDP ( fonte )

$template = JFactory::getApplication()->getTemplate(true);
$params   = $template->params;
$variable = $params->get('variable');

Tuttavia, non consiglierei di ottenere parametri dal modello non attivo. Invece ti suggerisco di impostare valori predefiniti, ad esempio.

$variable = $params->get('colour', '#FFFFFF');
3
Lodder