Joomla 3.2で「顧客ダッシュボード」コンポーネントを開発しています。
構築した他のさまざまなコンポーネントの複数のモデルを含める必要があります。私はコントローラのビューごとにsetModelを含めようとしました、これは私のbusinessservicesコントローラです
class BusinessServicesControllerBusinessServices extends JControllerForm
{
public function display($cachable = false, $urlparams = false)
{
// set default view if not set
$input = JFactory::getApplication()->input;
$input->set('view', $input->getCmd('view', 'BusinessServices'));
$viewName = $this->input->get('view');
switch ($viewName)
{
case 'businessservices':
$viewLayout = $this->input->get('layout', 'default');
$view = $this->getView($viewName, $format, '', array('base_path' => $this->basePath, 'layout' => $viewLayout));
$view->setModel($this->getModel('businessservices'));
break;
case 'trademark':
$viewLayout = $this->input->get('layout', 'default');
$view = $this->getView($viewName, $format, '', array('base_path' => $this->basePath, 'layout' => $viewLayout));
$view->setModel($this->getModel('trademark'));
break;
}
// call parent behavior
parent::display($cachable);
}
}
また、私は使用することを含めました:
JLoader::import('joomla.application.component.model');
JLoader::import( 'llp','components' . DS . 'com_llp_service' . DS . 'models' );
JLoader::import( 'opc','components' . DS . 'com_opc_services' . DS . 'models' );
getInstanceメソッドを使用してモデルを取得する
$actionsModel = JModel::getInstance('trademark', 'BusinessServicesModel');
jModel :: getInstanceを使用できないという致命的なエラーが発生している、
ですから、顧客のダッシュボードのすべての機能を含め、このタスクを実行する適切な方法を知りたいのです。
JModelLegacyを試してください:
$actionsModel = JModelLegacy::getInstance('trademark', 'BusinessServicesModel');
見つからない場合は、モデルファイルを含める必要があります。
require_once JPATH_ADMINISTRATOR . '/components/com_llp_service/models/trademark.php';
注意:DS定数は、新しいJoomlaバージョンでは使用できません。