TYPO3: использовать t3lib_TCEforms в плагине внешнего интерфейса
Я хотел бы использовать как можно больше стандартного TYPO3 для создания формы для редактирования отдельных записей из tx_mytable.
В pi1 я загружаю tca для таблицы: t3lib_div::loadTCA('tx_mytable');
Теперь я хотел бы использовать стандартные функции для создания элементов формы более или менее так, как это делается в бэкэнде...
Я нашел это для внешнего интерфейса, но не могу найти никаких рабочих примеров: t3lib_TCEforms_fe.php (который расширяет обычные t3lib_TCEforms)
Это правильный путь или есть лучший путь?
1 ответ
Я получил что-то работающее, но не очень хороший код в интерфейсе
Вот ссылка, указывающая на то, что TCA недостаточно, но необходимы две новые записи в массиве http://www.martin-helmich.de/?p=15
Это itemFormElName и itemFormElValue
// include tceforms_fe (place outside class where pipase is included)
require_once(PATH_t3lib.'class.t3lib_tceforms_fe.php');
// load TCA for table in frontend
t3lib_div::loadTCA('tx_ogcrmdb_tasks');
// init tceforms
$this->tceforms = t3lib_div::makeInstance("t3lib_TCEforms_FE");
$this->tceforms->initDefaultBEMode(); // is needed ??
$this->tceforms->backPath = $GLOBALS['BACK_PATH']; // is empty... may not be needed
//////////REPEAT FOR EACH INPUT FIELD/////////
// start create input fields, here just a single select for responsible
// conf used for tceforms similar to but not exactly like normal TCA
$conftest = array(
'itemFormElName' => $GLOBALS['TCA']['tx_ogcrmdb_tasks']['columns']['responsible']['label'],
'itemFormElValue' => 1,
'fieldConf' => array(
'config' => $GLOBALS['TCA']['tx_ogcrmdb_tasks']['columns']['responsible']['config']
)
);
// create input field
$this->content .= $this->tceforms->getSingleField_SW('','',array(),$conftest);
// wrap in form
$output = '<form action="" name="editform" method="post">';
$output .= $this->content;
$output .= '</form>';
// wrap and return output
return $output;
Еще ищу рабочий пример с шаблоном custem для полей ввода.