2013-11-11 11 views
0

Я разрабатываю компонент, который использует представление формы как в интерфейсе, так и в интерфейсе.joomla 3.1.5 getForm

Я использую getForm как weblink Компонент.

Теперь getForm() работает во Back-end, но в интерфейсе не работает, он генерирует сообщение об ошибке Jform.

Не знаю, что представляет собой компонент weblink и модель (form), и что он сделал, чтобы показать форму.

require_once JPATH_COMPONENT_ADMINISTRATOR.'/models/shop.php'; 
JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR . '/tables'); 

class componentNameModelShopForm extends componentNameModelShop 
{ 

    public function getForm($data = array(), $loadData = true) 
     { 
      $form = $this->loadForm('com_componentName.shop', 'shop', array('control' => 'jform', 'load_data' => $loadData)); 
      if (empty($form)) 
      { 
       return false; 
      } 
      return $form; 
     } 
} 

Этот класс также имеет getItem() и loadFormData() метод.

$form в фоновой работе хорошо, но в интерфейсе всегда должно быть ложным;

в интерфейсе i extends этот класс модели и перед объявлением класса i include_once it.

+0

Какое сообщение об ошибке оно генерирует? Где ваш код? Предоставьте дополнительную информацию в своем вопросе. Вы также должны перейти на Joomla 3.2, поскольку это последняя стабильная версия серии 3.x. – Lodder

+0

joomla 3.2 имеет очень мало компонентов, также старый компонент в joomla 3.2 работает частично. –

+0

Как упоминалось ранее, какое сообщение об ошибке вы получаете? – Lodder

ответ

0

Добавляя эту две строки до $this->ladForm(), она работает хорошо, без учета JTable.

JForm::addFormPath(JPATH_COMPONENT_ADMINISTRATOR . '/models/forms'); 
JForm::addFieldPath(JPATH_COMPONENT_ADMINISTRATOR . '/models/fields');