it-swarm.dev

ライブラリファイル内の特定のテンプレートのパラメーターを取得する

特定のテンプレート(必ずしもアクティブなテンプレートではない)のパラメーターを取得することは可能ですか?

任意のアドバイスをいただければ幸いです。

//編集テンプレートはアクティブになりませんので、テンプレートのパラメータを取得する必要があります:

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

あなたはこのようにそれを行うことができます:

$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

それが役に立てば幸い。

2
Farahmand

アクティブなテンプレートパラメータを取得するには、以下を使用できます。

@ GDPによるコードソース

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

ただし、非アクティブなテンプレートからパラメーターを取得することはお勧めしません。代わりに、たとえばデフォルト値を設定することをお勧めします。

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