モジュールからコンポーネントフォームを取得しようとしました。モデルを入手してフォームを取得しようとしましたが、結果は空でした。 「JPATH_COMPONENT」を定義しようとしたが役に立たなかった。
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);
$model->get('Form')
を呼び出す前に、フォームを探す場所にパスを追加してみてください。
JForm::addFormPath(YOUR_COMPONENT_FORMS_PATH);
GetFormはloadForm(先祖クラスJModelFormで宣言されている)を呼び出すので、フォームインスタンスを取得する前にこれを使用するため、これが必要になります。
JForm::addFormPath(JPATH_COMPONENT . '/models/forms');
JForm::addFieldPath(JPATH_COMPONENT . '/models/fields');
または、JForm::getInstance
フォームのインスタンスを取得します。
よろしく、