j'ai le champ suivant dans mon form.xml-definition:
<field name="attachedto"
type="sql"
label="COM_BESTIA_FIELD_ATTACHEDTO"
query="SELECT id, title FROM #__bestia_items WHERE state = 1"
key_field="id"
value_field="title"
multiple="true"
required="false">
</field>
Maintenant, je voudrais changer le state = 1
selon les paramètres définis dans la configuration du composant. Si config indique "use state = 0", la requête devrait passer de WHERE state = 1
à WHERE state = 0
.
Comment puis je faire ça?
Avec le type de champ de formulaire SQL que vous utilisez, ceci n'est pas possible. Cependant, vous pourriez développer un type de champ de formulaire personnalisé. . Envisagez de sous-classer JFormFieldList existant, ce qui vous aidera beaucoup. Il vous suffira d'écrire la méthode getOptions ().
<?php
defined('_JEXEC') or die('Restricted access');
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
class JFormFieldAttachedto extends JFormFieldList {
protected $type = 'Attachedto';
public function getOptions()
{
// Get component config (JComponentHelper::getParams('com_yourcomponent'));
// Make SQL query
// Return all options as array
}
}