[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP класс для рисования HTML форм
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
waldicom
Игорь, ты какой-то странный парень... Не адекватный...
"Я, типа, пасаны, тут класс сделал, там все куёво, но если вы вздумаете критиковать, то идите вы нахер всех благ. И ваще я ниипацца такой парень с удаленкой опыт 100 лет".
Вот это примерное в общем такое мнение составляется.

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Игорь_Vasinsky
waldicom
ты всё правильно понял. я бы даже лучше не сформулировал

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
dr.nomore
Я плакалъ. Когда нашел исходники за 9-й год сайта сделанного полностью на xml/xslt/js без БД. php ровно один index.php в качестве роутера и компилятора xsl В качестве БД - ручной xml-файл В котором для рисования полей формы были такие данные:

Свернутый текст
<!-- ДАННЫЕ ЗАКАЗАЧИКА. В ЗНАЧЕНИЯХ ЭЛЕМЕНТОВ УКАЗАНА ШИРИНА ПОЛЕЙ В ПРОЦЕНТАХ -->
<customer title="Заказчик">
<field title="Идентификация">
<family_name title="Фамилия">60</family_name>
<first_name title="Имя">60</first_name>
<last_name title="Отчество">60</last_name>
<date title="Дата рождения" id="dob">
<day title="День"></day>
<month title="Месяц"></month>
<year title="Год"></year>
</date>
</field>

<field title="Паспорт">
<set_psp title="Серия">20</set_psp>
<num_psp title="Номер">30</num_psp>
<gen_psp title="Паспорт выдан">70</gen_psp>
<date title="Дата выдачи" id="psp">
<day title="День"></day>
<month title="Месяц"></month>
<year title="Год"></year>
</date>
</field>

<field title="Адрес" comment="Для резидентов можно не заполнять: страна; индекс; область/край">
<country title="Страна">30</country>
<index title="Индекс">20</index>
<province title="Область / Край">50</province>
<city title="Город / Поселок">50</city>
<address title="Улица, дом, квартирa">60</address>
<phone title="Номер телефона">40</phone>
<cellphone title="Номер мобильного">40</cellphone>
<email title="Адрес электронной почты">50</email>
</field>

<field title="Права" comment="Если ВУ менялось то укажите дату выдачи первого ВУ">
<set_dl title="Серия">20</set_dl>
<num_dl title="Номер">30</num_dl>
<date title="Дата выдачи" id="dl">
<day title="День"></day>
<month title="Месяц"></month>
<year title="Год"></year>
</date>
</field>
</customer>

<!-- ЗАКАЗ -->
<order>
<passport title="Паспорт заказачика">
<set_pass title="Серия"></set_pass>
<number_pass title="Номер"></number_pass>
</passport>

<caritem title="Модель автомобиля"></caritem>

<period title="Сроки проката">
<date title="Дата получения" id="get">
<time title="Время"></time>
<day title="День"></day>
<month title="Месяц"></month>
<year title="Год"></year>
</date>

<date title="Дата возврата" id="put">
<time title="Время"></time>
<day title="День"></day>
<month title="Месяц"></month>
<year title="Год"></year>
</date>
</period>

<!-- В ЗНАЧЕНИИ ПОЛЕЙ УКАЗАНО ЧИСЛО СТРОК ТЕКСТОВОГО БЛОКА -->
<misc title="Дополнительная информация">
<location title="Район эксплуатации">2</location>
<delivery title="Адрес доставки">2</delivery>
<addinfo title="Пожелания">5</addinfo>
</misc>

</order>


Сунув сайт в локаль и наладив кодировки (видать оно работало тогда за счет htaccess'a) открыл страницу заказа и опупел. Чтобы такую шнягу отрендерить в рамках php-шной рамки придется мурыжить модель неделю, не меньше. Чтобы передать все это барахло (см в спойлере) через идиотские массивы в качестве аргументов.

Рендер формы в xsl за вычетом шаблонов общего порядка, которые в любом случае оказались бы в общей библиотеке, вот такой

Свернутый текст

<form action="mail.php" method="post" autocomplete="on">

<!-- ================ ЦЕНТР - ЗАКАЗАТЬ ================ -->
<div class="divContent" style="margin-right: 35%;" >
<xsl:apply-templates select="//privacy" mode="privacyitem"/>
<xsl:apply-templates select="/site/customer/field" mode="personitem"/>
<input type="submit" disabled="disabled" value="Отправить" class="inputButton" onmouseover="hov(this,'inputButton inputButtonHover')" onmouseout="hov(this,'inputButton')"/>
<!-- FOOTER -->
<br/>
<xsl:call-template name="footer"/>
</div>

<!-- ВЫБОР МАШИНЫ -->
<div class="divSides divRight" style="top:100px; width: 35%;">
<xsl:apply-templates mode="orderitem" select="/site/order"/>
</div>

</form>


Теперь понятно _ЧТО_ мы потеряли из-за халявы?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.