J'ai essayé d'obtenir une forme de composant de mon module. J'ai eu le modèle et ensuite essayé d'obtenir le formulaire, mais le résultat était vide. J'ai essayé de définir 'JPATH_COMPONENT' et c'était inutile.
define('JPATH_COMPONENT', JPATH_SITE . '/components/com_business');
jimport('joomla.application.component.model');
JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_business/models');
$model = JModelLegacy::getInstance('Organization', 'BusinessModel'); //It is correct
$form = $model ->get('Form'); //empty
print_r($form);
Essayez d’ajouter un chemin supplémentaire dans lequel rechercher des formulaires avant votre appel à $model->get('Form')
.
JForm::addFormPath(YOUR_COMPONENT_FORMS_PATH);
Vous en aurez besoin car getForm appelle loadForm (déclaré sur la classe ancêtre JModelForm) qui, avant d’obtenir l’instance de formulaire, utilise cette
JForm::addFormPath(JPATH_COMPONENT . '/models/forms');
JForm::addFieldPath(JPATH_COMPONENT . '/models/fields');
Sinon, vous pouvez utiliser JForm::getInstance
pour obtenir une instance de votre formulaire.
Cordialement,