web-dev-qa-db-ja.com

モジュールからコンポーネントのフォームを取得する方法は?

モジュールからコンポーネントフォームを取得しようとしました。モデルを入手してフォームを取得しようとしましたが、結果は空でした。 「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);
3
aspirisen

$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フォームのインスタンスを取得します。

よろしく、

4
Pep Lainez