смена темплейтов вывода формы в HTML_QuickForm

que_bunt

Новичок
смена темплейтов вывода формы в HTML_QuickForm

Здраствуйте.

Ткните пожалуста кто-то носом где в QuickForm можна изменить формат вывода формы.
Думал что в файле "QuickForm/Render/Default.php" - но внесения там изменений никчему не приводи.

подскажите кто знает.

-~{}~ 22.11.06 16:47:

детальней что надо:

1) например обьязательное поле "* First Name" хочу чтобы было "First Name*"

2) фразы типа "* denotes required field" заменить на "* - обьязательное поле"
но не могу найти где это изменяется.

буду благодарин за любой совет.
 

que_bunt

Новичок
Гравицапа да я сначала в мане и смотрел, от туда и понял что такое quickform и с чем его едят, а тут дошло до смены темплейта вывода и просто не могу понять, где это менять...

если есть еще те кто пользуеться quickform то запостите пожалуста пару строчек кода в котором вы меняете темплейт quickform. или подскажите который файл редактровать.

по логике все можно изменить в QuickForm/Render/Default.php (там все описано) но изменения никчему не приводят.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: que_bunt
буду благодарин за любой совет.
Совет: читай документацию, смотри приложенные к пакету примеры использования. Там всё есть.
 

que_bunt

Новичок
спасибо откликнувшимся!
кое-как изменил вывод, но не знаю правильно ли с точки зрения как это продумали разработчики.

PHP:
require_once 'HTML/QuickForm/Renderer/Default.php';
$elementtemplate = "\n\t<tr>\n\t\t<td align=\"left\" valign=\"top\"><b>{label}</b><!-- BEGIN required --><span style=\"color: #ff0000\">***</span><!-- END required --></td>\n\t\t<td valign=\"top\" align=\"left\"><!-- BEGIN error --><span style=\"color: #ff0000\">{error}</span><br /><!-- END error -->\t{element}</td>\n\t</tr>";
$renderer =& $form->defaultRenderer();
$renderer->setElementTemplate($elementtemplate);
$form->accept($renderer);
Sad Spirit так правильно?

-~{}~ 22.11.06 17:50:

как заменить "* denotes required field" заменить на "* - обьязательное поле" так и не могу найти... :(
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: que_bunt
Sad Spirit так правильно?
Ага.

как заменить "* denotes required field" заменить на "* - обьязательное поле" так и не могу найти... :(
http://pear.php.net/manual/en/package.html.html-quickform.html-quickform.setrequirednote.php
Метод действительно немного не там, где можно было бы ожидать...
 

que_bunt

Новичок
Sad Spirit спасибо.

а то я решил вчера эту проблему сделалав
PHP:
$requirednote_template = "\n\t<tr>\n\t\t<td></td>\n\t<td align=\"right\" valign=\"top\"><span style=\"color: #ff0000\">*</span>обьязательные поля</td>\n\t</tr>";
$renderer->setRequiredNoteTemplate($requirednote_template);
тоесть вообще из темплейта удалил {requiredNote}
 
Сверху