Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Formidable (http://forum.typo3.ru/showthread.php?t=7860)

mazaev 16.07.2009 17:42

Formidable
 
Нужно в форму вывести дату регистрации пользователя. Форма генериться formidable. На данный момент дошел до того, что вывожу лейбу в нужном месте. А как заполнить value не могу понять. Редактировать поле не нужно. Оно только для информации

Вопрос в том. Можно ли это организовать это через xml или нужно через скрипт который вызывает ренд? И как в скрипте передать значение для ренда?

Спасибо.

mazaev 16.07.2009 20:26

Решил таким подходом:
Перед вызовом формыдаблы:
$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...l/sandbox.html)
3. codeBehind (http://formidable.typo3.ug/pastebin/snippet/47.html)
4. Еще можно для конкретного renderlet'a использовать "process" (тоже userobj) так как он вызывается перед тем как renderlet собирается произвести вывод.


Часовой пояс GMT +4, время: 02:46.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot