Прошу совета по формам / cogear - система управления сайтами, бесплатная cms для социальной сети http://cogear.ru/advice-form-125.html/ ru http://cogear.ru http://cogear.ru/templates/cogear/img/logo.png cogear - система управления сайтами, бесплатная cms для социальной сети <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2198 http://cogear.ru/advice-form-125.html#comment-2198 admin Tue, 15 Dec 2009 19:02:07 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2197 http://cogear.ru/advice-form-125.html#comment-2197 Все работает, как хотел.
Ощущения фантастические! :-) ]]>
inetlover Tue, 15 Dec 2009 18:54:20 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2196 http://cogear.ru/advice-form-125.html#comment-2196 $form_code = $this->form->compile(TRUE); $this->builder->div($form_code,TRUE);
Неверно. Просто напиши код в виде строки и потом выведи его в шаблон.
$form_code = $this->form->compile(); $code = "<fieldset><div><div><div>{$form_code}</div></div></div></fieldset>"; // Первый аргумент — массив, чтобы пояснить шаблонизатору, что надо выводить содержимое массива, а не какой-то определенный шаблон. $this->_template(array($code)); ]]>
admin Tue, 15 Dec 2009 17:39:03 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2195 http://cogear.ru/advice-form-125.html#comment-2195 inetlover Tue, 15 Dec 2009 16:18:11 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2194 http://cogear.ru/advice-form-125.html#comment-2194 $form_code = $this->form->result(); $this->builder->div($form_code,TRUE);
И еще, если я свою форму собираюсь заключить в несколько тегов (fieldset, div, div, div) с параметрами я напишу так:
$form_code = $this->form->result(); $this->builder->fieldset(array('class'=>'class_1'))->div(array('class'=>'class_2'))->div(array('class'=>'class_3'))->div($form_code,TRUE); Или надо сделать как-то по-другому? ]]>
inetlover Tue, 15 Dec 2009 16:06:13 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2193 http://cogear.ru/advice-form-125.html#comment-2193 inetlover Tue, 15 Dec 2009 15:54:52 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2192 http://cogear.ru/advice-form-125.html#comment-2192 CSS рекомендую использовать. ]]> admin Tue, 15 Dec 2009 14:35:26 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2191 http://cogear.ru/advice-form-125.html#comment-2191 form div.field input.text.some_class{ ... } ]]> admin Tue, 15 Dec 2009 14:34:50 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2190 http://cogear.ru/advice-form-125.html#comment-2190 Используя этот код, получаю класс: class=«text some_class» и поле не видоизменяется, так как этот класс, как и прежде, читает стили из:

form div.field input.text, form div.field input.input, form div.field input.password { border: 1px solid #9E9E9E; font-size: 1.6em; margin: 0.1em 0em; min-width: 300px; width: 100%; max-width: 760px; } ]]>
inetlover Tue, 15 Dec 2009 11:02:57 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2189 http://cogear.ru/advice-form-125.html#comment-2189 Я подставлял данный код в разные места, но обернуть форму в div так и не вышло. :-(
Если быть совсем точным, я свою форму хочу поместить в следующие теги:
<fieldset style="border: 1px solid rgb(90, 0, 153); margin: 20px 0pt; padding: 6px 10px 10px; background-color: rgb(238, 238, 238);"> <legend style="color: rgb(90, 0, 153);"><a class="toggler s_on">  АНКЕТА  </a></legend><div style="margin: 0px; overflow: hidden; position: static;"><div style="margin: 0px;" class="clear"><div style="padding: 4px 0pt; color: rgb(90, 0, 153); font-weight: normal;"> <form id="create_mail" method="POST"> ... </form> </div></div></div></fieldset>
Хочу получить приблизительно следующие:

]]>
inetlover Tue, 15 Dec 2009 10:54:42 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2188 http://cogear.ru/advice-form-125.html#comment-2188 ... ->input('some_name',array('class'=>'some_class')) ... ]]> admin Mon, 14 Dec 2009 21:15:18 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2187 http://cogear.ru/advice-form-125.html#comment-2187 $form_code = $this->form->result(); $this->builder->div($form_code,TRUE); ]]> admin Mon, 14 Dec 2009 21:13:31 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2186 http://cogear.ru/advice-form-125.html#comment-2186 inetlover Mon, 14 Dec 2009 18:42:36 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2184 http://cogear.ru/advice-form-125.html#comment-2184 mail поместить в теги div?
<div> <form id="create_mail" method="POST"> ... </form> </div> ]]>
inetlover Mon, 14 Dec 2009 15:12:56 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2175 http://cogear.ru/advice-form-125.html#comment-2175 Все работает, как надо. ]]> inetlover Thu, 10 Dec 2009 17:38:30 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2174 http://cogear.ru/advice-form-125.html#comment-2174 msg = "Привет, %s!" Соответственно передаваться должен не subject, а имя автора. ]]> admin Thu, 10 Dec 2009 17:17:48 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2173 http://cogear.ru/advice-form-125.html#comment-2173 ru.lng написано:
msg = "сообщение" Вот получается сейчас и выводится только msg, а то, что я пишу "Привет!" в поле subject, эти данные теряются, а надо, что бы они объединялись с msg. ]]>
inetlover Thu, 10 Dec 2009 17:07:53 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2172 http://cogear.ru/advice-form-125.html#comment-2172 admin Thu, 10 Dec 2009 13:56:16 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2171 http://cogear.ru/advice-form-125.html#comment-2171 Надо сделать так:
d('mail'); $result['subject'] = t('msg',$result['subject']); Заменил:
d('mail'); $subject = array(t('msg'),$result['subject']); $result['subject'] = serialize($subject); на
d('mail'); $result['subject'] = t('msg',$result['subject']); Получил:

К сожалению, запись из поля subject не отобразилась, а только вывелась запись из msg. :( ]]>
inetlover Thu, 10 Dec 2009 13:36:09 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2140 http://cogear.ru/advice-form-125.html#comment-2140 inetlover Tue, 08 Dec 2009 10:04:24 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2139 http://cogear.ru/advice-form-125.html#comment-2139 d('mail'); $result['subject'] = t('msg',$result['subject']); ]]> admin Tue, 08 Dec 2009 10:03:10 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2128 http://cogear.ru/advice-form-125.html#comment-2128 case 'send': default: написал:
d('mail'); $subject = array(t('msg'),$result['subject']); $result['subject'] = serialize($subject); Итого вышло:

Хотел сделать subject похожим на тот, который отсылает админ при редактировании чужого топикаpm_subject = "Комментарий к материалу ''%s''" ]]>
inetlover Sat, 05 Dec 2009 13:01:03 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2104 http://cogear.ru/advice-form-125.html#comment-2104 inetlover Thu, 03 Dec 2009 16:04:18 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2103 http://cogear.ru/advice-form-125.html#comment-2103 admin Thu, 03 Dec 2009 15:35:19 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2102 http://cogear.ru/advice-form-125.html#comment-2102 $this->form->title(t('pm_subject',$id))->input('to') ... В данном случае делал заголовок перед формой:

]]>
inetlover Thu, 03 Dec 2009 14:15:50 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2099 http://cogear.ru/advice-form-125.html#comment-2099 admin Thu, 03 Dec 2009 11:27:13 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2098 http://cogear.ru/advice-form-125.html#comment-2098 Я только над строкой:
$this->form->set_values(array('to'=>$id,'subject'=>t('pm_subject',$id))); Добавил:
d('mail'); А то не работало. Думаю, что сделал правильно. ]]>
inetlover Thu, 03 Dec 2009 11:24:17 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2097 http://cogear.ru/advice-form-125.html#comment-2097 Добавляешь в ru.lng переменную:
pm_subject = "Привет %s!" И 190 строку в /gears/mail/index.php заменяешь на:
$this->form->set_values(array('to'=>$id,'subject'=>t('pm_subject',$id))); ]]>
admin Thu, 03 Dec 2009 10:04:15 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2096 http://cogear.ru/advice-form-125.html#comment-2096 Ildar Thu, 03 Dec 2009 09:41:13 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2095 http://cogear.ru/advice-form-125.html#comment-2095 index.php и lang/ru.lng мне еще надо будет в какие файлы внести изменения, что бы реализовать задуманное? ]]> inetlover Thu, 03 Dec 2009 09:18:08 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2092 http://cogear.ru/advice-form-125.html#comment-2092 admin Thu, 03 Dec 2009 08:14:35 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2091 http://cogear.ru/advice-form-125.html#comment-2091
Когда мы жмем на конверт

То в поле Кому записывается логин

Вопрос, а как этот логин поместить не в поле, а в переменную? Еще хочу понять, как этот логин за одно поместить и в другие поля, например Тема сообщения * и также интересно, как в это поле поместить заранее заготовленный текст из файла ru.lng?

]]>
inetlover Wed, 02 Dec 2009 20:40:15 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2090 http://cogear.ru/advice-form-125.html#comment-2090 inetlover Wed, 02 Dec 2009 14:44:07 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2089 http://cogear.ru/advice-form-125.html#comment-2089 Вот и дамп сразу на все шестеренки. ]]> admin Wed, 02 Dec 2009 14:37:16 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2088 http://cogear.ru/advice-form-125.html#comment-2088 типы нод, такономия и типы таксономии.
Дима, эти шестеренки постоянно обращаются к Базе Данных, и показывает ошибку. Решил в ручную для них сделать необходимые таблицы, заглянул в папки шестеренок и не обнаружил ни одного файла SQL. Может раньше эти шестеренки по-другому работали, и таблицы в БД для них как-то иначе создавались? ]]>
inetlover Wed, 02 Dec 2009 14:29:32 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2087 http://cogear.ru/advice-form-125.html#comment-2087 inetlover Wed, 02 Dec 2009 12:08:23 GMT <![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2086 http://cogear.ru/advice-form-125.html#comment-2086 select, checkbox активно используются в движке :-)
Посмотрите шестеренки, которые были в движке ранее — типы нод, такономия и типы таксономии.
Дополнительные поля профиля были реализованы через них. ]]>
admin Wed, 02 Dec 2009 11:19:37 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2084 http://cogear.ru/advice-form-125.html#comment-2084 Таким способом ->radio(), что-то не выходит.
Точнее выходит только пока криво, например вот ошибка такая появляется:
A PHP Error was encountered Severity: Notice Message: Undefined index: checked Filename: templates/form_form.tpl Line Number: 197
А вопрос я хотел задать такой, шестеренка form она готова полностью или она еще не совсем готова? На ее основе можно делать поля select, radio, checkbox или их надо еще в самой шестеренке предусмотреть? ]]>
inetlover Tue, 01 Dec 2009 23:07:35 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2083 http://cogear.ru/advice-form-125.html#comment-2083 function __call($func,$args) в шестеренке form была предназначена для любимой рюшечки с usemac.ru :-)?


И скажи, пожалуйста, а как можно добавить другие элементы форм такие, как select, radio, checkbox?

Таким способом ->radio(), что-то не выходит. ]]>
inetlover Tue, 01 Dec 2009 22:51:29 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2081 http://cogear.ru/advice-form-125.html#comment-2081
По-хорошему, рекомендую создавать раздельные поля для каждого из пунктов
Что-то сразу об этом не подумал, а вариант такой поперспективнее будет. ]]>
inetlover Tue, 01 Dec 2009 16:54:04 GMT
<![CDATA[]]> http://cogear.ru/advice-form-125.html#comment-2078 http://cogear.ru/advice-form-125.html#comment-2078 if($result = $this->form->result()){ $body = array($result['body'],$result['body2'],$result['body3']); // Объединить $result['body'] = implode('!@#!@#!@#',$body); // Или сеарилизовать $result['body'] = serialize($body); }
Разумеется, при простановке значений формы все это следует учитывать.

По-хорошему, рекомендую создавать раздельные поля для каждого из пунктов — вы же работаете с Базой Данных, а не с текстовым файлом :-) ]]>
admin Tue, 01 Dec 2009 12:19:17 GMT