web-dev-qa-db-ja.com

コンポーネントのパラメーターを動的に設定する方法は?

パラメータを取得するには、次を使用します。

$myparam = JComponentHelper::getParams('com_mycomponent')->get('myparam');

しかし、コンポーネントのパラメーターを格納する適切な方法は何ですか?

コンポーネントのパラメータの多くは外部条件に依存しているため、夜間処理を行うことで定期的に変更する必要があります。これが使用するコードです(com_contentでの使用に適合)。

// Load the current component params.
$params = JComponentHelper::getParams('com_content');
// Set new value of param(s)
$params->set('show_title', 1);

// Save the parameters
$componentid = JComponentHelper::getComponent('com_content')->id;
$table = JTable::getInstance('extension');
$table->load($componentid);
$table->bind(array('params' => $params->toString()));

// check for error
if (!$table->check()) {
    echo $table->getError();
    return false;
}
// Save to database
if (!$table->store()) {
    echo $table->getError();
    return false;
}
15
GDP