UMIhelp

Разработка сайта на UMI.CMS => Шаблоны TPL => Тема начата: skiller от 23 Августа 2011, 16:30:27

Название: Шаблоны для webform. Есть у кого готовые?
Отправлено: skiller от 23 Августа 2011, 16:30:27
Привет,

Штатно в админке указано множество типов полей форм включая всякие даты, числа итд итп. Видимо это подразумевает проверку ввода и вообще метод ввода. Но в демошаблонах ничего такого нет. То есть даже болванок под эти типы полей нет. И инструкции какие типы полей как в шаблоне расписываются тоже... нет. И что? Гадать на кофейной гуще? Я в восторге от документации на UMI.

Вопрос, нет ли у кого уже готового шаблона, хоть для примера на поле "дата" и "число". Ну, хотя бы. Желательно и на остальное тоже :-)
Название: Re:Шаблоны для webform. Есть у кого готовые?
Отправлено: skiller от 11 Января 2012, 20:37:24
Вопрос, нет ли у кого уже готового шаблона, хоть для примера на поле "дата" и "число". Ну, хотя бы. Желательно и на остальное тоже :-)
Для даты я сделал вот так:


$FORMS['reflection_field_date'] = <<<END

        <tr>
                <td class="fname">
                        %title%:
                </td>

                <td class="fdata">
                        <input type="text" id="FIELD_%name%" name="%input_name%" value="%value%" size="10"  class="fld_date" />
<script type="text/javascript">
       $(document).ready(function(){
       $("#FIELD_%name%").datepicker();
       });
</script>
                </td>
        </tr>

END;
Название: Re:Шаблоны для webform. Есть у кого готовые?
Отправлено: skiller от 11 Января 2012, 20:41:10
Расскажите мне плиз, при редактировании формы обратной связи у поля "строка" есть какие-о варианты типа e-mail и web-что-то. В Шаблонах про это ни слова. Ну, разработчики что-то сваляли, недоделали и бросили.

Вопрос, как, хотя-бы, это должно выглядеть в шаблоне?
$FORMS['reflection_field_strung_email'] или как-то так?
Название: Re:Шаблоны для webform. Есть у кого готовые?
Отправлено: admin от 14 Января 2012, 18:05:20
вывод полей для формы происходит так же как и поля которые выводятся макросами data getEditForm и data CreateForm

то есть для каждого типа поля свой шаблон reflection_field_string для все полей типа "строка", reflection_field_date для всех полей типа "дата"

И если вышеприведенной информации  не хватает чтобы ответить на ваш вопрос, пиши конкретнее что вы делали, чего ожидали и что не получается.
Название: Re:Шаблоны для webform. Есть у кого готовые?
Отправлено: skiller от 16 Января 2012, 19:36:35
В tpls/data/reflections/default.tpl, которые прилагается к готовым шаблонам, нет даже намёка на шаблон поля Дата, например. А так же на кучу других.
$FORMS['reflection_field_date'] там просто отсутствует, так же как и много других ЗАЯВЛЕННЫХ в типах полей.

Вот, я прикрутил шаблон ввода даты. Он тоже не работает тк требует jquery и ещё какие-то css. Они автоматом подкачиваеются только для совершенно ненужного админтулбара. :-)

Хотелось бы для других типов полей найти готовые решения и шаблоны.

Ещё вопрос, в поле типа Строка в конструкторе форм есть подменю с путнктами email и web-адрес или кк-то так. КАК называется соотвествующий ИМ шаблон?
КАК провести проверку поля String? КАК понять в шаблоне, что это email? Или web? ГДЕ соотвествующих ЗАЯВЛЕННЫМ типам полей шаблон?

Уважаемые разработчики, вы если ЗАЯВЛЯЕТЕ какой-то функцинал, реализуйте его полностью. Или, как минимум, понятно документируйте с примерами.
Название: Re:Шаблоны для webform. Есть у кого готовые?
Отправлено: admin от 16 Января 2012, 20:35:39
с этими просьбами
Цитировать
Уважаемые разработчики, вы если ЗАЯВЛЯЕТЕ какой-то функцинал, реализуйте его полностью. Или, как минимум, понятно документируйте с примерами.

вам надо в саму umi-cms.ru писать, а у нас  тут отдельный проект основанный на добровольных основах)

насчет шаблона, примеры поищу, но чтобы сделать все что вы написали, лучше использовать xslt шаблонизатор, tpl в этом плане ограничен шаблонами только по типу поля
Название: Re:Шаблоны для webform. Есть у кого готовые?
Отправлено: skiller от 16 Января 2012, 20:40:25
Ну, я вижу "admin", думаю, что админ умей. :-)
Насчёт добровольных я и спрашивал изначально, кто ещё сталкивался с отсутсвием шаблонов tpls для вывода форм и не поделится ли ими.

Я, вот, поделился шаблоном даты.

Шаблонизатор не имеет значения, если просто нет куска кода для вывода поля формы.
Название: Re:Шаблоны для webform. Есть у кого готовые?
Отправлено: admin от 16 Января 2012, 21:26:19
admin - это означает что я создатель проекта umihelp.ru, с umi у нас отношения такие же как и у любого фрилансера\компании партнера и я не являюсь их сотрудником. Так что, повлиять на документацию или направление разработок, или быстро исправить какой-то баг не могу)

шаблонизатор имеет значение, так как, например. tpl не может различить одно поле типа string от другого не прибегая к помощи кастомизации или js послезагрузочного редактирования html,а xslt может

А насчет кусков кода для webformы add в документации для шаблонизатора tpl, действительно не все описано, но webforms add по сути формирует свою форму используя механизм data getCreateForm (посмотри описание его tpl шаблонов (http://help-dev.umi-cms.ru/data.getCreateForm.html) там расписанна информация по всем полям, в том числе по полю типа date), насчет различных вкусностей типа datepicker поле для даты или tinyMCE для поля типа html (wysiwyg поле в шаблонах), то тут пока только ручками, готовых вариантов нет, так как каждый проект хочет чего-то своего, либо файл стилей другой либо механизм нужен с доделкой. По крайней мере, в моей практике
Название: Re:Шаблоны для webform. Есть у кого готовые?
Отправлено: skiller от 17 Января 2012, 10:12:29
В общем, всё плохо и непонятно... :-(

И всё же, если у кого есть готовые шаблоны/решения для полей типа datepicker, wysiwyg итп, был бы благодарен. Так же интересно послушать как решается вопрос о добавлении того же jquery и/или css не на все страницы, а только для страниц с формами.
Название: Re:Шаблоны для webform. Есть у кого готовые?
Отправлено: admin от 17 Января 2012, 11:27:44
что же именно не понятно, поле datepicker, насколько я понял ты уже сделал. Wysiwyg оно тебе надо вообще?) вот отыскал свой старый вариант (cм. ниже), не идеальный конечно, но вроде охватывает все что ты хочешь.

Цитировать
Ещё вопрос, в поле типа Строка в конструкторе форм есть подменю с путнктами email и web-адрес или кк-то так. КАК называется соотвествующий ИМ шаблон?
никак, в езд оба этих поля рассматриваются системой просто как поля типа string

в xslt ты можешь их различать по шв, по названию поля, по номеру в списке полей и т.д., но не в tpl

<?php

$FORMS = Array();

$FORMS['error_no_form'] = '<b>Форма не определена</b><br />Обратитесь к администрации ресурса';

$FORMS['send_successed'] = 'Ваше сообщение отправлено';

$FORMS['form_block'] = <<<END
<form enctype="multipart/form-data" method="post" action="/webforms/send/">
<input type="hidden" name="system_form_id" value="%form_id%" />
<input type="hidden" name="system_template" value="%template%" />
%address_select%
%groups%
</form>
END;

$FORMS['address_select_block']  = <<<END
<table border="0" width="400">
    <tr>
        <td style="width:100%;">
            Получатель
        </td>

        <td>
            <select name="system_email_to" style="width: 300px;height:auto;">
                %options%
            </select>
        </td>
    </tr>
</table>
END;

$FORMS['address_select_block_line']  = <<<END
<option value="%id%">%text%</option>
END;

$FORMS['address_separate_block']  = <<<END
<b>Выберите адреса из списка</b><br />
%lines%
<br />
END;

$FORMS['address_separate_block_line']  = <<<END
<input type="checkbox" id="%id%" name="system_email_to[]" value="%value%" /> <label for="%id%">%description%</label><br />
END;

$FORMS['reflection_block'] = <<<END
%groups%
<script type="text/javascript" src="/js/tinymce/jscripts/tiny_mce/tinymce_defs.js"></script>
<script type="text/javascript" src="/js/tinymce/jscripts/tiny_mce/tinymce_custom.js"></script>
<script type="text/javascript" src="/js/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>

<script type="text/javascript">
tinyMCE.init({
mode : "exact",
elements : "text_main", //здесь вписываешь id тех полей которым надо встроить tinyMCE
theme : "umisimple"});

</script>
%system captcha()%
<table border="0" width="400">
<tr>
<td style="text-align:right;padding-top:10px;">
<input type="submit" value="Отправить" />
</td>
</tr>
</table>
END;

$FORMS['reflection_group'] = <<<END

<b>%title%</b><br />

<table border="0" width="400">
%fields%
</table>


END;

$FORMS['reflection_field_string'] = <<<END

<tr>
<td>
%title%:
</td>

<td>
<input type="text" name="%input_name%" value="%value%" class="textinputs strong_inp" />
</td>
</tr>

END;

$FORMS['reflection_field_date'] = <<<END

<tr>
<td>
%title%:
</td>

<td>
<input type="text" name="%input_name%" value="%value%" class="textinputs strong_inp" size="50" />
</td>
</tr>

END;

$FORMS['reflection_field_text'] = <<<END

<tr>
<td>
%title%:
</td>

<td>
<textarea name="%input_name%" class="textinputs strong_text">%value%</textarea>
</td>
</tr>

END;


$FORMS['reflection_field_wysiwyg'] = <<<END

<tr>
<td>
%title%:
</td>

<td>
<textarea id="text_%name%" name="%input_name%" class="textinputs strong_text">%value%</textarea>
</td>
</tr>

END;

$FORMS['reflection_field_int'] = <<<END

<tr>
<td>
%title%:
</td>

<td>
<input type="text" name="%input_name%" value="%value%" class="textinputs strong_inp" />
</td>
</tr>

END;

$FORMS['reflection_field_boolean'] = <<<END

<tr>
<td>
%title%:
</td>

<td>
<input type="hidden" id="%input_name%" name="%input_name%" value="%value%" />
<input onclick="javascript:document.getElementById('%input_name%').value = (this.checked) ? '1' : '0';" type="checkbox" %checked% value="1" />
</td>
</tr>

END;

$FORMS['reflection_field_password'] = <<<END

<tr>
<td>
%title%:
</td>

<td>
<input type="password" name="%input_name%" value="" class="textinputs strong_inp" />
</td>
</tr>

<tr>
<td>
Подтверждение:
</td>

<td>
<input type="password" name="%input_name%" value="" class="textinputs strong_inp" />
</td>
</tr>

END;


$FORMS['reflection_field_relation'] = <<<END
<tr>
<td>
%title%:
</td>

<td>
<select name="%input_name%"  class="textinputs strong_sel">
<option />
%options%
</select>
</td>
</tr>

END;

$FORMS['reflection_field_relation_option'] = <<<END
<option value="%id%">%name%</option>
END;


$FORMS['reflection_field_relation_option_a'] = <<<END
<option value="%id%" selected="selected">%name%</option>
END;


$FORMS['reflection_field_multiple_relation'] = <<<END
<tr>
<td>
%title%:
</td>

<td>
<select name="%input_name%" class="textinputs strong_sel" multiple>
<option />
%options%
</select>
</td>
</tr>

END;

$FORMS['reflection_field_multiple_relation_option'] = <<<END
<option value="%id%">%name%</option>
END;


$FORMS['reflection_field_multiple_relation_option_a'] = <<<END
<option value="%id%" selected="selected">%name%</option>
END;




$FORMS['reflection_field_img_file'] = <<<END
<tr>
<td>
%title%:
</td>

<td>
<input type="file" name="%input_name%" class="textinputs strong_inp" style="height: 20px"  /><br/>
<div style="padding-top:3px;">%data getPropertyOfObject(%object_id%, '%name%', 'avatar')%</div>
</td>
</tr>
END;


$FORMS['reflection_field_img_file'] = <<<END
<tr>
<td>
%title%:
</td>

<td>
<input type="file" name="%input_name%" class="textinputs strong_inp" style="height: 20px"  />
%data getPropertyOfObject(%object_id%, '%name%', 'avatar')%
</td>
</tr>
END;

?>

Название: Re:Шаблоны для webform. Есть у кого готовые?
Отправлено: skiller от 17 Января 2012, 11:33:23
Пасибо!