Pull to refresh
1
gilfoyle@keltanas

Golang

5
Subscribers
Send message
Кораном не пользуюсь, но как это настроить, не могу найти.
Он, похоже, только для *.tpl файлов работает. А у меня все шаблоны в *.html сверстаны.
В итоге не работает, так, как хотелось бы. А-а-а…

А когда файл формата index.tpl создаешь, все гуд.
Ура!!! Ура!!! Ура!!! Да здравствует Смарти. Спасибо большое!!!
Уже устанавливаю себе на эклипс =))
Вы не правильно поняли… Секретарша мою работу не проверяет, она ей пользуется… =))

Да и не вижу ничего гнусного в том, чтобы попросить секретаршу потестировать юзабилити сайта… но это уже скорее вопросы к дизайнеру, а не к программисту или верстаку!

И почему мы должны делать работу конкретно для неё и её монитора??
Мы не так часто, а Вы не замечали, как работают различные менеджеры, секретарши и прочий гуманитарный народ? Они порой такое вытворяют, что никогда бы не подумал сам это сделать… Вот для них мы и делаем такие сайты… где предусмотрена каждая мелочь!

Лично мне так вообще всех этих дизайнов и украшательств не надо… Это надо для клиента… и клиентов клиента!
Я думаю, что это хорошее решение. Мне сейчас как раз предстоит верстка подобного макета, и я воспользуюсь этим методом.

Сейчас сделал всё на float:left, но это меня не очень устраивает, т.к. макет 3х колоночный и такие плавающие блоки в нем подглючивают.

Это решение, которое предложил dfuse мне очень подходит, чего и всем желаю. Правда подобный вариант я видел и у Артемки Лебедева. Но там немного иначе все.

Молодец, dfuse, спасибо за пост!
Хорошо, хоть с закруглёнными углами не надо теперь будет мучиться. Еще бы opacity реализовали…
У меня формы завязаны на базу. Сначала описывается сама форма:

<?php
/**
 * Форма USERS
 */
$forms->create('users', array(

	'method' => 'post', // метод отправки
	'action' => '/ajax/xforms/action_users.php', // скрипт обработки
	'class' => 'standart', // CSS класс
	'table' => DBUSERS, // таблица БД

	'fields' => array(

			'id' => array( 'type' => 'hidden' ),

			'email' => array( 'type' => 'text', 'label' => 'Email', 'notice' => 'необходим для авторизации' ),
			'password' => array( 'type' => 'password', 'label' => 'Пароль', 'notice' => 'только чтобы изменить' ),

			'solt' => array( 'type' => 'hidden' ),
			'kod' => array( 'type' => 'hidden' ),

			'fname' => array( 'type' => 'text', 'label' => 'Фамилия' ),
			'lname' => array( 'type' => 'text', 'label' => '* Имя'/*, 'obligatory' => 1*/ ),
			'tname' => array( 'type' => 'text', 'label' => 'Отчество' ),

			'phone1' => array( 'type' => 'text', 'label' => 'Телефон' ),
			'phone2' => array( 'type' => 'text', 'label' => 'Факс' ),
			'phone3' => array( 'type' => 'text', 'label' => 'Мобильный' ),

			'firm_value' => array( // no DB
				'type' => 'suggest', 
				'label' => '* Фирма',
				'ajax' => '/ajax/suggest/sug_users_firms.php',
				'field_value' => 'firm',
			),
			'firm' => array( 'type'=>'hidden' ),
			
			'contr_value' => array( // no DB
				'type' => 'suggest', 
				'label' => 'Контрагент',
				'ajax' => '/ajax/suggest/sug_users_contr.php',
				'field_value' => 'contractor',
			),
			'contractor' => array( 'type' => 'hidden' ),
			
			'position' => array( 'type' => 'text', 'label' => 'Должность' ), // должность
			'otdel' => array( 'type' => 'text', 'label' => 'Отдел' ),
			'other' => array( 'type' => 'textarea', 'label' => 'Дополнительно' ),

			'date' => array( 'type' => 'hidden' ),
			'last_date' => array( 'type' => 'hidden' ),
			'ip' => array( 'type' => 'hidden' ),
			'fix_ip' => array( 'type' => 'hidden' ),
			'status' => array( 'type' => 'hidden', 'label' => '' ),

			'submit' => array( 'type' => 'submit', 'value' => 'Сохранить' ),

	),
));
?>


Поля, соответствующие таблице могут писаться в базу. В соответствии с ним происходит обработка в JS при вводе информации в фронтэнде и при сохранении в бакенде. отправка происходит через формы JQuery, если включен JS или как обычно, если выключен.
Есть реализация интеграции с Jquery-UI.

Так еще доступны типы int, float, select, radio и некоторые другие.

Сейчас доступны методы:

create() — создание формы (см. выше)
getForm( 'formname' ) — вернет описание формы, как массив выше
clear() — очистит значения value у полей
getPost() — дёрнет из поста соответствующие полям индексы (нужно, когда считывает отправленные данные, этот же метод производит чистку данных по типам)
setTable() — сохранит данные в таблицу БД
getTable() — загрузит данные из таблицы БД

getValue() — получить значение поля
getValues() — получить значения всех полей
setValue() — установить значение поля
setValues() — установить значения всех полей

setVariants() — установить варианты для полей select, radio и checkbox (порой надо, чтобы эти значения заполнялись динамически из базы, например)

write() — распечатает форму в автоматическом режиме (есть несколько вариантов)

setReadonly() — утановить поле в readonly (также может отменить readonly)
setRaedonlyAll() — установить все поля в readonly (также может отменить readonly)
setHidden() — делает некоторые поля скрытыми/не скрытыми
setTypes() — можно для некоторых полей поменять тип

Как-то так.
В целом мне и обычный плагин форм нравится. У меня к нему свой класс на PHP написан. Сейчас еще со Smarty его пытаюсь подружить.
Но вот загрузчик файлов я себе позаимствую, немного переработав, если вы не против =))
Когда напишешь, например, CMF, в которой все базовые типы будут через этот класс описаны, посмотрю, какие там будут 3 %, ага… А когда надо будет обработать массив из несколько десятков тысяч значений? Так не тестировали? Причем каждый элемент массива — тоже массив…

Я рад, что вы поразмяли свои мозги и написали этот класс… вам кажется, что совершили чудо… но об этом думали почти все, на определенном этапе изучения PHP… и приходили к выводу, что такое абстрагирование абсолютно не нужно!!!

Скоро выйдет PHP 6 и ваш класс окажется бесполезным…
Пока человек хостится на виртуальном хостинге, его сайт будет висеть в блоке за превышение лимита используемых ресурсов. Или вообще страницы не будут успевать генериться )))) Такого уже насмотрелись…
Вот такие вот словоблуды и засоряют всемирное пространство.

Каждый берет из жизни то, что ему нужно. Одним надо получить знания, другим деньги, третьим ничего не надо, четвертые хотят набить морду автору… и т.д.

Так пусть каждый решает за себя, что ему делать, если это не вредит окружающим. А время покажет, кто был прав.
Я про справочники вообще между словом написал. Пользуюсь эклипсом с кодассистом и в справочник только по жизненной необходимости влезаю.

Смысл-то в том, что PHP-это процедурный язык с поддержкой ООП, а не объектный, как джава или руби и т.п.

Если начать какой-нибудь проект, основанный на данной библиотеке классов, то можно получить неизлечимые тормоза и трудночитаемый код (мне так довольно тяжело было проследить всю цепочку). А смысла в этом не на грош. Не спорю, что запрограммировать строку в пару десятков методов круто… только кто в ней будет разбираться через пол года… мозг себе сломает.

При проектировании библиотеки не было изобретено ничего нового. Если так не нравится PHP, используйте что-нибудь другое. Благо помимо пхп и перла ещё туева хуча языков, в основе которых уже реализованы объекты. Альтернатива есть.

Это не javascript, которому, собственно, альтернатив особо не намечается… (Flash или Java не в счет)

Лучше абстрагируйте то, что действительно нужно и касается конкретного проекта. А базовые типы оставьте уже в покое. Они на то и базовые.
В jquery ну пытались ECMAscript изнасиловать. Добавили удобства и кроссбраузерности. А ради чего этот огород в PHP до сих пор не понятно? Подобные библиотеки появлялись и обсуждались со времен выхода PHP4 с разным успехом. Только вот не об одной такой пока широкому кругу не известно…
Даже если напишет кто-нибудь либу на C++, будет весело смотреть на переписку с техподдержками шарахостов ))) Им то глубоко параллельно, что вы тут хотите полезную вещь для тестов запустить…
Да и в PHP такая абстракция ни к чему… просто язык такой, какой есть. А чтобы в функциях не путать, пользуйтесь справочниками. А учить новый синтаксис старых функций мне не хочется. Пусть лучше все остается, как было.
А если охото чисто на объектах писать, Вам уже предложили другие языки, где все это реализовано.
12 ...
14

Information

Rating
Does not participate
Registered
Activity