Просмотр полной версии : Formidable
Нужно в форму вывести дату регистрации пользователя. Форма генериться formidable. На данный момент дошел до того, что вывожу лейбу в нужном месте. А как заполнить value не могу понять. Редактировать поле не нужно. Оно только для информации
Вопрос в том. Можно ли это организовать это через xml или нужно через скрипт который вызывает ренд? И как в скрипте передать значение для ренда?
Спасибо.
Решил таким подходом:
Перед вызовом формыдаблы:
$this->cr_date = $feuser->getMPerson()->record['indate']; - то что мне было нужно показать
$this->userEditForm =& t3lib_div::makeInstance('*****_forms_Formidable');
Стандартный вызов. См доку
$this->userEditForm->init($this, путь . '/forms/xml/member_edit.xml', еще параметр);
В xml описал след:
<renderlet:TEXT name="cr_date">
<label>Registriert seit</label>
<data>
<value>
<userobj>
<php><![CDATA[
return $this->_oParent->cr_date;
]]></php>
</userobj>
</value>
</data>
</renderlet:TEXT>
в html который содержит темплейт:
<label>{cr_date.label}</label>
{cr_date.value}<br />
Sergey M Nikitin
17.07.2009, 10:08
Вообще для любой инициализации удобней использовать:
1. oninit (userobj) (http://formidable.typo3.ug/reference/meta.html)
2. Sandbox (http://formidable.typo3.ug/reference/control/sandbox.html)
3. codeBehind (http://formidable.typo3.ug/pastebin/snippet/47.html)
4. Еще можно для конкретного renderlet'a использовать "process" (тоже userobj) так как он вызывается перед тем как renderlet собирается произвести вывод.
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot