¿Cómo configurar el parámetro de un componente dinámicamente?

9

Para recuperar un parámetro uso:

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

Pero, ¿cuál es el método correcto para almacenar el parámetro de un componente?

Desarrollo web COBIZ
fuente
Quiero decir, aparte de usar el botón Opciones
desarrollo web de COBIZ el
Si no está utilizando el botón de opciones, ¿cómo está obteniendo el valor que desea almacenar?
David Fritsch
Realmente no entiendo tu pregunta. Desde cualquier ubicación, en otro controlador de componentes, por ejemplo, me gustaría establecer un nuevo valor para algunos otros parámetros param.
Desarrollo web de COBIZ el
Puede intentar construir un componente usando component-creator.com y ver el código que genera al agregar parámetros a su componente.
Søren Beck Jensen

Respuestas:

15

Muchos de los parámetros de nuestros componentes dependen de condiciones externas, por lo que debemos cambiarlos periódicamente con un procesamiento nocturno. Aquí está el código que usamos (adaptado para usar con 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;
}
PIB
fuente
1
Gracias. ¡Esto se ve muy bien! Así que no estaba pasando por alto un método existente, realmente realmente necesita un código extra. Marcaré su respuesta como BUENA lo antes posible, cuando la haya probado. (Sin embargo, puesto que ya está utilizando esta, probablemente lo es la respuesta correcta de todos modos)
webdevelopment COBIZ
1
Feliz de ayudar ... no puedo seguir el ritmo de las versiones de Joomla tan bien como me gustaría, por lo que puede haber un método, pero este ha estado trabajando para nosotros por un tiempo ahora ... saludos
PIB