- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Доброго времени суток, %username%!
Судя по тому, что вы читаете этот топик — вам тоже интересен вопрос легкой генерации сложных форм.
http://jquickform.ru/
Начну с главного:
Какие задачи ставились перед этой сборкой
1) Построение сложных форм БЕЗ написания шаблонов, в 90% случаев достаточно того стиля оформления, который когда то был один раз проработан и переезжает из проекта в проект.
2) Возможность управления внешних видом формы путем изменения правил CSS.
3) Возможность управления правилами проверки (валидация форм) в одном месте, при этом чтобы автоматически строились правила проверки на javascript (клиентская валидация) и на PHP (серверная валидация).
4) Валидная верстка, по возможности, с использованием минимально необходимого div-ов
5) Вызовы методов цепочкой, чтобы отсутствовала необходимость держать в голове список параметров, их очередность и прочее, чем должно заниматься IDE $el->setLabel($label)->setComment($comment); 6) Возможность быстрого созданию любого виджета из комплекта, например jQueryUI
7) Желание сделать мир хоть немного лучше! :)
Зачем еще один построитель форм?
Ну во-первых, чтобы предложить вам продукт готовый к использованию, было перерыто много источников, скачали весь интернет и попробовали на локалхосте, я задавал вопрос на хабре (http://habrahabr.ru/qa/492/) и на PHPClub (http://phpclub.ru/talk/showthread.php?s=&threadid=120483&rand=28).
Причем, если внимательно присмотреться к тем сообщениям, то изначально я планировал использовать zforms.ru, в итоге долгих раздумий и «ковыряний» во внутренностях пришел к тому, что лучше доработать сами HTML_QuickForm2, чем пытаться создавать на их основе подобие zforms.
Во-вторых, ничего нового изобретать не пришлось, зато пришлось подружить два великолепных фреймворка jQuery + HTML_QuickForm2
Что из этого получилось — судить вам!
Самая большая проблема в освоении нового фреймворка — это обычно скудное количество документации, а также отсутствие времени и желания копаться во всем подряд, для того, чтобы потом жалеть о потраченном времени.
Для новичков же — высоким порогом порой является отсутствие конкретных примеров, снабженных детальными комментариями, а также гремучая смесь PHP+HTML, в которой черт ногу сломит.
В своей работе я постарался обойти эти типичные проблемы и, на мой взгляд, достаточно сильно разделил логику от представления, а самое главное — в освоении этого генератора форм вам не придется метаться из браузера в IDE, чтобы понять что нужно сделать, чтобы получить такой результат: все самые важные процессы, протекающие при генерации самой формы, построении правил клиентской валидации, подключаемые скрипты и стили оформления, ну, и конечно же, сам сгенерированный HTML показывается внизу каждой страницы.
В итоге получилось следующее:
1) форма генерируется при помощи HTML_QuickForm2
2) правила валидации, привязанные им же к этой форме, работают как на стороне сервера, так и на стороне клиента
3) доработан сам пакет таким образом, чтобы исключить/перекрыть все магические методы. Это сделано для того, чтобы существенно сэкономить время разработчика, ведь ему уже не приходится держать в голове все параметры, необходимые для создания типового элемента типа
$form->addSelect('name', array('label' => 'My select', 'options' => $options), array('style' => 'color:red'));
По возможности старался делать так, чтобы все методы можно было вызывать с четко именованными параметрами цепочками типа:
$form->addSelect('name')->setLabel('My select')->loadOptions($options);
4) добавлены некоторые виджеты из jQuery UI и другие плагины (различные виды autocomplete, datapicker, jWysiwyg)
5) есть даже мастер-форма со страничками, перелистывающаяся при помощи кнопок вперед/назад
http://jquickform.ru/?page=elements_page
Причем мастер работает даже с отключенным джаваскриптом, просто в этом случае кнопки вперед/назад скрыты, а сама форму развернута на одной странице.
6) Элементы можно группировать практически с неограниченной вложенностью
7) Встроен нейтральный стиль оформления формы по-умолчанию, который, думаю, удовлетворит большинство прямо «из коробки», но изменить внешний вид формы можно будет не влезая ни в шаблоны, ни в PHP-код.
В общем настойчиво рекомендую ознакомиться всем «заинтересованным лицам».
Приятных выходных! :)
Вдогонку хотел бы еще раз выразить признательность одному из авторов HTML_QuickForm2 — Борзову Алексею (Sad Spirit) за оперативную помощь и исчерпывающие комментарии. Спасибо, Алексей!
P.S.: рабочие примеры можно посмотреть на сайте проекта:
например http://jquickform.ru/?page=elements_text
http://jquickform.ru/?page=elements_page
http://jquickform.ru/?page=groups_checkbox
и т.д.
P.P.S.: забыл сказать еще одну важную вещь для новичков: скачав jQuickForm по ссылке http://code.google.com/p/jquickform/downloads/list и распаковав его в /home/ вы получите возможность запустить тот же самый сайт безо всяких надстроек в своем любимом Denwer-е
P.P.P.S. в принципе получилась система для создания простых сайтов, которая "искапорки" умеет рисовать и обрабатывать сложные формы.
Свои предложения и замечания можете отправлять мне в личку или писать в этом топике.
Анонс на хабре: http://habrahabr.ru/blogs/php/104834/
Анонс на пхпклубе: http://phpclub.ru/talk/showthread.php?s=&threadid=120582&rand=0
Сразу же:
1. не увидел аплоада файлов. Тут было бы прекрасно что нибудь вроде мультиаплоада на флеше подвязать.
2. textarea и визивинг редактор соединить, т.е. на лету переключаться в нужный режим.
3. с fieldset очень уж замороченный код. Скажем так, не читабельный.
Сразу же:
1. не увидел аплоада файлов. Тут было бы прекрасно что нибудь вроде мультиаплоада на флеше подвязать.
2. textarea и визивинг редактор соединить, т.е. на лету переключаться в нужный режим.
3. с fieldset очень уж замороченный код. Скажем так, не читабельный.
1. Аплоад пока не стал делать. он из коробки есть, а SWF Uploader пожалуй сделаю.
2. Действительно, пишут что появился $('#editor').wysiwyg('destroy');
3. В примерах? Или в сгенерированном HTML?
По-моему с отступами достаточно понятно получается что во что вложено, разве нет?
Спасибо за отзыв
да, у jquery есть много разных плагинов для красивого отображения ввода форм....
1) проверить валдность введенного на js...
2) если есть ошибка, то поле отобразить красным цветом или фиолетовым
я люблю использовать jQuery UI (или другие диалоговые окна), чтобы отображалась форма в диалоговм окне...
2,а) .. там же есть в интерете примеры с плагинами, их много
3) именно отображение, есть вот jqTransform
4) если интеренсо, вот http://www.x0.org.ua/view_content/79 я написал класс CRUD, а SQL запрос в нем в абстракции...
да, у jquery есть много разных плагинов для красивого отображения ввода форм....
1) проверить валдность введенного на js...
2) если есть ошибка, то поле отобразить красным цветом или фиолетовым
я люблю использовать jQuery UI (или другие диалоговые окна), чтобы отображалась форма в диалоговм окне...
2,а) .. там же есть в интерете примеры с плагинами, их много
3) именно отображение, есть вот jqTransform
4) если интеренсо, вот http://www.x0.org.ua/view_content/79 я написал класс CRUD, а SQL запрос в нем в абстракции...
Для того, чтобы проверить валидность надо чтобы была форма, это как в Простоквашино - "чтобы продать что-нибудь не нужное, надо сперва купить что-нибудь не нужное".
Да и наличие всего этого по отдельности радует конечно. но рутину не убирает, из проекта в проект идет все это либо в шаблонах. либо в коде.
Да и jqTransform к jQuickForm прикрепляется одной строчкой, только опять же задача проекта совсем не в этом.
И, извините, но CRUD тут вообще из другой оперы, тем более на перле
для меня не читабельно совершенно, куча объектов создается.
Вот например код из класса форм, которым сейчас пользуюсь.
для меня не читабельно совершенно, куча объектов создается.
Вот например код из класса форм, которым сейчас пользуюсь.
Не хочу Вас уговаривать, если Вы не видите разницу (хотя бы в том, что открытый fieldset в Вашем примере нужно не забывать закрывать за собой, иначе форма вся развалится, в том, что куча параметров хитрых передается):
значит Вам это не нужно.
Когда будете делать сложные формы, которые потребуют сложные проверки на сервере и клиенте - попробуйте этот генератор форм.
Я с первой его версией был 4 года, нарадоваться не мог, единственно, что не устраивало - то, то нельзя было в группы полей вкладывать другие поля. Сейчас можно все!
А по поводу кучи объектов - в том и фишка, что создав его, можно на время отвлечься от самой формы и поработать с этим одним полем, навешать на него валидаторы, поставить какие то атрибуты.
В общем, хочу сказать, что я не зря так настойчиво рекомендую всем QuickForm!
Я давно с ними и они меня не подводили ни разу, много сложных задач ставил перед ними, практически всегда справлялся без доработки, не хватало кое-чего (написано на главной странице проекта) - доделал и выложил с описанием, так как по себе знаю, что писать примеры и документацию времени никогда нет, а из-за этого хороший продукт что называется широко известен в узких кругах.