<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Web-Grower.ru</title>
	
	<link>http://web-grower.ru</link>
	<description>Бесплатные инструменты для выращивания вашего сайта!</description>
	<lastBuildDate>Wed, 01 Feb 2012 16:51:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/web-growerru" /><feedburner:info uri="web-growerru" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>PHP — работаем с HTML-формами</title>
		<link>http://feedproxy.google.com/~r/web-growerru/~3/Mrk7_780AYM/</link>
		<comments>http://web-grower.ru/html-forms-in-php/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 16:51:31 +0000</pubDate>
		<dc:creator>Иван Хромов</dc:creator>
				<category><![CDATA[Уроки]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://webgrower.defite.ru/?p=2079</guid>
		<description><![CDATA[Итак, сегодня я хочу затронуть именно ту самую тему&#160;&#8212; как работать с формами в PHP. Как выполнять их проверку, и многое-многое другое.Мы даже вместе сделаем проверку формы для отправки e-mail. Для начала, нам нужен редактор кода, локальный веб-сервер, и знания PHP на начальном уровне. В начале была форма... Для начала вспомним наш великий и могучий [...]]]></description>
			<content:encoded><![CDATA[<p><img class="leftimage" src="http://static.php.net/www.php.net/images/logos/php-med-trans-light.gif" alt="" />Итак, сегодня я хочу затронуть именно ту самую тему&nbsp;&mdash; как работать с формами в PHP. Как выполнять их проверку, и многое-многое другое.Мы даже вместе сделаем проверку формы для отправки e-mail. Для начала, нам нужен редактор кода, локальный веб-сервер, и знания PHP на начальном уровне. <span id="more-2079"></span></p>
<h3>В начале была форма...</h3>
<p>Для начала вспомним наш великий и могучий HTML. И теги:<strong>&lt;form&gt;&lt;/form&gt;</strong>, <strong>&lt;input&gt;</strong>. Пока-что нам понадобятся только они. Сейчас мы должны выучить несколько функций языка PHP: <strong>isset (), empty (), strlen ()</strong>. И теперь приступим к практике. Для начала, создаем простую HTML форму.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;form action=&quot;index.php?method=send&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;field1&quot; value=&quot;&quot; /&gt;
&lt;input type=&quot;submit&quot; name=&quot;go&quot; value=&quot;Поехали!&quot; /&gt;
&lt;/form&gt;
</pre>
<p>Получится что-то вроде:</p>
<div align="center"><img class="aligncenter" src="http://img-eburg.fotki.yandex.ru/get/5300/khromov-wm.1/0_4663a_616f83c8_orig" alt="" /></div>
<h3>Включаем PHP!</h3>
<p>Для начала, обратим внимание на метод для отправки формы&nbsp;&mdash; post. В PHP существует глобальная переменная-массив $_POST. А теперь давайте прочтем имя поля, это будет выгляедть так: <strong>$_POST['field1']</strong>соответственно этот элемент суперглобального массива будет иметь значение, которое у нас введено на форме в браузере. Итак, вот как мы напишем:</p>
<pre class="brush: php; title: ; notranslate">
&lt;form action=&quot;index.php?method=send&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;field1&quot; value=&quot;&quot; /&gt;
&lt;input type=&quot;submit&quot; name=&quot;go&quot; value=&quot;Поехали!&quot; /&gt;
&lt;/form&gt;
&lt;?php  echo &quot;Привет, &quot;.$_POST['field1']  ?&gt;
</pre>
<p>Но теперь посмотрите на результат:</p>
<div align="center"><img src="http://img-eburg.fotki.yandex.ru/get/5500/khromov-wm.1/0_52131_fe0f0ddd_orig.png" alt="" /></div>
<p>Нам ведь не надо, чтобы слово &laquo;Привет&raquo; выводилось всегда? Исправляем эту проблему при помощи функции isset ():</p>
<pre class="brush: php; title: ; notranslate">
&lt;form action=&quot;index.php?method=send&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;field1&quot; value=&quot;&quot; /&gt;
&lt;input type=&quot;submit&quot; name=&quot;go&quot; value=&quot;Поехали!&quot; /&gt;
&lt;/form&gt;
&lt;?php
if(isset($_POST['go'])) {
echo &quot;Привет, &quot;.$_POST['field1'];
}
?&gt;
</pre>
<p>Функция <strong>isset ()</strong> проверяет, появилась ли переменная <strong>$_POST['go']</strong>, и если это так, выполняем действие вывода. Теперь вначале видна только форма, а после нажатия на кнопку выводится нужное нам сообщение:</p>
<div align="center"><img src="http://img-eburg.fotki.yandex.ru/get/5700/khromov-wm.1/0_52224_c654322_orig.png" alt="Работа с HTML формами в PHP" /></div>
<h3>Да отправится e-mail!</h3>
<p>Теперь давайте создадим более сложную форму&nbsp;&mdash; форму отправки письма, например. Для начала разберемся, какие поля нам нужны. Нам нужны данные: имя, тема, обратный адрес, сообщение. Но стоит проверить&nbsp;&mdash; не бот ли это? Для начала создадим форму с элементами управления: 3 поля ввода текста, 1 область текста, 1 флажок и кнопка отправки. Пишем:</p>
<pre class="brush: xml; title: ; notranslate">&lt;form action=&quot;&lt;?php echo $_SERVER['PHP_SELF']; ?&gt;&quot; method=&quot;post&quot;&gt;
&lt;p&gt;
&lt;label for=&quot;name&quot;&gt;Your name:&lt;/label&gt;&lt;br /&gt;
&lt;input name=&quot;name&quot; id=&quot;name&quot; type=&quot;text&quot; value=&quot;&quot;&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;label for=&quot;from_mail&quot;&gt;Your e-mail:&lt;/label&gt;&lt;br /&gt;
&lt;input name=&quot;email&quot; id=&quot;from_mail&quot; type=&quot;text&quot; value=&quot;&quot;&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;label for=&quot;subject&quot;&gt;Subject of letter:&lt;/label&gt;&lt;br /&gt;
&lt;input name=&quot;subject&quot; id=&quot;subject&quot; type=&quot;text&quot; value=&quot;&quot;&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;label for=&quot;message&quot;&gt;Message for me:&lt;/label&gt;&lt;br /&gt;
&lt;textarea name=&quot;message&quot; id=&quot;message&quot; rows=5 cols=20 wrap=&quot;off&quot;&gt;&lt;/textarea&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;input name=&quot;not_bot&quot; id=&quot;not_bot&quot; type=&quot;checkbox&quot; value=&quot;NO&quot;&gt;
&lt;label for=&quot;not_bot&quot;&gt;My name is not WALL-E&lt;/label&gt;
and I want &lt;input type=&quot;submit&quot; value=&quot;Send it now&quot; name=&quot;sendit&quot;&gt;
&lt;/p&gt;
&lt;/form&gt;</pre>
<p>Эта форма будет хорошо выглядеть, если добавить следующие css свойства в тег <strong>&lt;style&gt;</strong>:</p>
<pre class="brush: css; title: ; notranslate">
input[type='text'] {
	width: 340px;
	padding: 5px;
}
textarea {
	width: 340px;
	height: 150px;
	padding: 5px;
}
</pre>
<p>А если в первой строке документа написать:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE html&gt;
</pre>
<p>То далее можно изменить поля ввода так:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;p&gt;
&lt;label for=&quot;name&quot;&gt;Your name:&lt;/label&gt;&lt;br /&gt;
&lt;input name=&quot;name&quot; id=&quot;name&quot; placeholder=&quot;Enter your real name, please =)&quot; type=&quot;text&quot; value=&quot;&quot;&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;label for=&quot;from_mail&quot;&gt;Your e-mail:&lt;/label&gt;&lt;br /&gt;
&lt;input name=&quot;email&quot; placeholder=&quot;your_name@example.com&quot; id=&quot;from_mail&quot; type=&quot;text&quot; value=&quot;&quot;&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;label for=&quot;subject&quot;&gt;Subject of letter:&lt;/label&gt;&lt;br /&gt;
&lt;input name=&quot;subject&quot; placeholder=&quot;What's up?&quot; id=&quot;subject&quot; type=&quot;text&quot; value=&quot;&quot;&gt;
&lt;/p&gt;
</pre>
<p>Наша веб-форма приобретет вот такой вот красивый вид(все объяснения что и как и зачем даны):</p>
<div align="center"><a href="http://img-fotki.yandex.ru/get/5602/65371581.1/0_7707b_5ef81ada_orig.png"><img src="http://img-fotki.yandex.ru/get/5602/65371581.1/0_7707b_5ef81ada_L" alt="" /></a></div>
<p>Итак. У нас все готово в плане проектирования формы! Теперь можете выдохнуть оставшийся O<sub>2</sub> и читать дальше!<br />
Теперь самая важная часть&nbsp;&mdash; программная. Если здесь допустить ошибку или неточность -пиши &laquo;пропало&raquo;! Мы неточностей и тем более, ошибок, допускать не собираемся. Вверху файла мы будем писать наш PHP код, чтобы не создавать кучу файлов. Если вы будете использовать данные материалы как опору на создание рабочей формы отправки(которая отправлять письмо будет) то лучше создайте отдельный файл с функциями, которые мы создадим и подключите его в файл с формой. А там в файле используйте. Да поможет вам <code>require_once();</code>!<br />
Пишем вот такие вот не простые функции:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
// обеспечение безопасности. все что вводит
// пользователь пропускайте через эту функцию!
function safe_post($input) {
	if(!empty($input)) {
		return htmlspecialchars(stripslashes(trim($input)));
	} else {
		return false;
	}
}
function valid_form_now() {
	// form data
	// собираем данные из формы.
	$name = safe_post($_POST['name']); // имя
	$email = safe_post($_POST['email']); // почта
	$subject = safe_post($_POST['subject']); // тема
	$message = safe_post(nl2br($_POST['message'])); // сообщение
	$robot = safe_post($_POST['not_bot']); // робот!
	// /vars
	$error = array(); // преопределим тип переменной как массив
	// start validate the form:
	if(empty($name) or strlen($name) &lt; 10) { // проверим ка имя
		$error['name'] = &quot;Sorry, you entered not valid name&quot;;
	}
	// регулярное выражение для проверки адреса почты
	$mail_regex = &quot;/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix&quot;;
	// проверим ка введенную почту!
	if(empty($email) or !preg_match($mail_regex, $email)) {
		$error['email'] = &quot;You entered a &lt;i&gt;non valid email&lt;/i&gt;, sorry!&quot;;
	}
	// а теперь тему письма
	if(empty($subject) or strlen($subject) &lt; 15) {
		$error['subject'] = &quot;Please, fill the &lt;i&gt;subject&lt;/i&gt; field.
		This field must contain more than 15 chars!&quot;;
	}
	// ну и само сообщение, конечно!
	if(empty($message) or strlen($message) &lt; 240) {
		$error['message'] = &quot;Please, write a &lt;i&gt;long letter&lt;/i&gt; to me!
		This field must contain more than 240 chars!&quot;;
	}
	// если значение чекбокса не NO то пишем ошибку
	if($robot != &quot;NO&quot;) {
		$error['robot'] = &quot;Hello, WALL-E! How are you?&quot;;
	}

	// start output of errors if have any
	// так как $errors - массив, проходимся по нему
	// и выведем все ошибки, которые у нас возникли.
	if(is_array($error) and !empty($error)) {
		foreach($error as $key=&gt;$val) {
			echo &quot;&lt;p&gt;&lt;b style='color: #D80A33;'&gt;&quot;.$val.&quot;&lt;/b&gt;&lt;/p&gt;&quot;;
		}
	} else { // тут впишите отправку почты, ну и сообщения для юзера.
		// do another
		echo &quot;&lt;b style='color: #008000;'&gt;Form is valid!&lt;/b&gt;&quot;;
	}
}
?&gt;
</pre>
<p>Все объяснения даны в коде. Надеюсь, вам пригодится все, что здесь написано.<br />
Ну и напоследок: <strong><a href="http://khromov.net/ex/mail.php" target="_blank">пример работы</a></strong> | <strong><a href="http://khromov.net/ex/source/wg-mail.zip" target="_blank">скачать исходники</a></strong></p>
<img src="http://feeds.feedburner.com/~r/web-growerru/~4/Mrk7_780AYM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://web-grower.ru/html-forms-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://web-grower.ru/html-forms-in-php/</feedburner:origLink></item>
		<item>
		<title>Slides</title>
		<link>http://feedproxy.google.com/~r/web-growerru/~3/z9UN8wOzTCw/</link>
		<comments>http://web-grower.ru/slides/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 13:02:27 +0000</pubDate>
		<dc:creator>Maniac</dc:creator>
				<category><![CDATA[Скрипты]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[slideshow]]></category>

		<guid isPermaLink="false">http://web-grower.ru/?p=2378</guid>
		<description><![CDATA[Еще один плагин для слайдшоу с послайдовой навигацией и навигацией по стрелкам. Довольно симпатичное решение, которое легко установить и использовать. Для его работы понадобится jQuery и собственно сам плагин слайдшоу. Установка 1. Подключаем необходимые библиотеки 2. Базовое оформление 3. Базовая разметка 4. Запуск! Демо]]></description>
			<content:encoded><![CDATA[<p><img src="http://img-fotki.yandex.ru/get/5503/34100975.1b/0_60f2d_fdb22635_XL.jpg" alt="Slides" width="580" /></p>
<p>Еще один плагин для слайдшоу с послайдовой навигацией и навигацией по стрелкам. Довольно симпатичное решение, которое легко установить и использовать. Для его работы понадобится jQuery и собственно сам плагин слайдшоу.<br />
<span id="more-2378"></span></p>
<h4>Установка</h4>
<p>1. Подключаем необходимые библиотеки</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;js/slides.min.jquery.js&quot;&gt;&lt;/script&gt;
</pre>
<p>2. Базовое оформление</p>
<pre class="brush: css; title: ; notranslate">
.slides_container {
    width:470px;
    height:170px;
  }
  .slides_container div {
    width:470px;
    height:170px;
    display:block;
  }
</pre>
<p>3. Базовая разметка</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;slides&quot;&gt;
  &lt;div class=&quot;slides_container&quot;&gt;
    &lt;div&gt;
      &lt;h1&gt;Slide 1&lt;/h1&gt;
      &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.&lt;/p&gt;
    &lt;/div&gt;
    &lt;div&gt;
      &lt;h1&gt;Slide 2&lt;/h1&gt;
      &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.&lt;/p&gt;
    &lt;/div&gt;
    &lt;div&gt;
      &lt;h1&gt;Slide 3&lt;/h1&gt;
      &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.&lt;/p&gt;
    &lt;/div&gt;
    &lt;div&gt;
      &lt;h1&gt;Slide 4&lt;/h1&gt;
      &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>4. Запуск!</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script&gt;
  $(function(){
    $(&quot;#slides&quot;).slides();
  });
&lt;/script&gt;
</pre>
<p class="demo" style="text-align: center;"><a href="http://slidesjs.com/examples/standard/" target="_blank">Демо</a></p>
<img src="http://feeds.feedburner.com/~r/web-growerru/~4/z9UN8wOzTCw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://web-grower.ru/slides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://web-grower.ru/slides/</feedburner:origLink></item>
		<item>
		<title>Про substr (), utf8 и кириллицу</title>
		<link>http://feedproxy.google.com/~r/web-growerru/~3/NkqSYvG7W6Q/</link>
		<comments>http://web-grower.ru/pro-substr-utf8-i-kirillicu/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 23:42:32 +0000</pubDate>
		<dc:creator>Maniac</dc:creator>
				<category><![CDATA[Уроки]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://webgrower.defite.ru/?p=2375</guid>
		<description><![CDATA[Всем известно, что функция substr () некорректно работает с кириллическим текстом в кодировке utf8, выдавая абракадабру на конце. Это объясняется тем, что один символ в кодировке cp-1251 весит один байт, а в utf8&#160;&#8212; 2 или 3, а так как обрезание текста идет не по символам, а по байтам, то и появляется подобного рода ошибка. Однако [...]]]></description>
			<content:encoded><![CDATA[<p>Всем известно, что функция substr () некорректно работает с кириллическим текстом в кодировке utf8, выдавая абракадабру на конце. Это объясняется тем, что один символ в кодировке cp-1251 весит один байт, а в utf8&nbsp;&mdash; 2 или 3, а так как обрезание текста идет не по символам, а по байтам, то и появляется подобного рода ошибка. Однако она достаточно просто решается. Смотрим под кат.<br />
<span id="more-2375"></span></p>
<pre class="brush: php; title: ; notranslate">
function myutf8_substr2($str,$from,$len){
# utf8 substr
return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s',
'$1',$str);
}
</pre>
<p>и применяем ее:</p>
<pre class="brush: php; title: ; notranslate">
$introtext_max = myutf8_substr2($item-&gt;introtext, 0, 100);
</pre>
<img src="http://feeds.feedburner.com/~r/web-growerru/~4/NkqSYvG7W6Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://web-grower.ru/pro-substr-utf8-i-kirillicu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://web-grower.ru/pro-substr-utf8-i-kirillicu/</feedburner:origLink></item>
		<item>
		<title>CSS Refresh</title>
		<link>http://feedproxy.google.com/~r/web-growerru/~3/63vHcpg8y28/</link>
		<comments>http://web-grower.ru/css-refresh/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 11:44:10 +0000</pubDate>
		<dc:creator>Maniac</dc:creator>
				<category><![CDATA[Скрипты]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://webgrower.defite.ru/?p=2369</guid>
		<description><![CDATA[CSS Refresh&#160;&#8212; инструмент, необходимый для удобной работы верстальщика. Позволяет сократить время разработки в разы за счет того, что все изменения css применяются автоматически, без перезагрузки браузера. Таким образом процесс отладки странички сводится к сохранению css-файла и мгновенному созерцанию результата в браузере. Как это работает? Для работы нужно скачать CSS Refresh и подключить: Внимание, автоматически обновляться [...]]]></description>
			<content:encoded><![CDATA[<p><img class="leftimage" src="http://img-fotki.yandex.ru/get/21/34100975.1b/0_5f720_13eba362_M.jpg" alt="css refresh" width="180" height="144" />CSS Refresh&nbsp;&mdash; инструмент, необходимый для удобной работы верстальщика. Позволяет сократить время разработки в разы за счет того, что все изменения css применяются автоматически, без перезагрузки браузера. Таким образом процесс отладки странички сводится к сохранению css-файла и мгновенному созерцанию результата в браузере.<br />
<span id="more-2369"></span></p>
<h4>Как это работает?</h4>
<p>Для работы нужно скачать <a href="http://cssrefresh.frebsite.nl/js/cssrefresh.js" target="_blank">CSS Refresh</a> и подключить:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/site.css&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/cssrefresh.js&quot;&gt;&lt;/script&gt;
</pre>
<p>Внимание, автоматически обновляться будут только те таблицы стилей, которые были подключены до CSS Refresh. Также, автор обращает внимание на то, что работа скрипта осуществляется с помощью <a href="http://ru.wikipedia.org/wiki/XMLHttpRequest" target="_blank">XMLHttpRequest</a> для модификации css-файлов, т.е. поработать со скриптом удастся только на стороне сервера.</p>
<img src="http://feeds.feedburner.com/~r/web-growerru/~4/63vHcpg8y28" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://web-grower.ru/css-refresh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://web-grower.ru/css-refresh/</feedburner:origLink></item>
		<item>
		<title>Добавляем произвольные поля в Joomla!</title>
		<link>http://feedproxy.google.com/~r/web-growerru/~3/xeqklThJU7o/</link>
		<comments>http://web-grower.ru/dobavlyaem-proizvolnye-polya-v-joomla/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 12:05:37 +0000</pubDate>
		<dc:creator>Иван Хромов</dc:creator>
				<category><![CDATA[Уроки]]></category>

		<guid isPermaLink="false">http://webgrower.defite.ru/?p=2347</guid>
		<description><![CDATA[Привет всем кто сейчас читает эту запись. На позапрошлой неделе я решил сделать сайт колледжа, в котором учусь. Естественно мой выбор пал на Joomla!, и я с выбором метался не долго. Эта система отлично подходит для реализации информационного сайта. Но вот парадокс: компонент com_user в Joomla был недосягаем для плагинов и прочего администраторского. Решил немного [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="logo joomla" src="http://www.joomla.org/images/stories/logos/conditional-use/mw_joomla_logo.png" title="Joomla logo" class="leftimage" width="298" height="75" />Привет всем кто сейчас читает эту запись. На позапрошлой неделе я решил сделать сайт колледжа, в котором учусь. Естественно мой выбор пал на Joomla!, и я с выбором метался не долго. Эта система отлично подходит для реализации информационного сайта. Но вот парадокс: компонент com_user в Joomla был недосягаем для плагинов и прочего администраторского. Решил немного покопать сам компонент, выяснилось что добавить новые поля в профиль и поля при регистрации не такая уж сложная задача, а прокомментированность кода в Joomla еще больше упростила мне задачу, главное знать английский(помните, без этого у вас не получится разрабатывать хорошие сайты, так как половина информации в WWW написана на английском языке). Давайте я вам покажу как добавить то или иное поле, не используя компонентов. Необходимо чтобы вы знали HTML и PHP хотя бы на уровне новичка. Jeronimo!<br />
<span id="more-2347"></span><br />
Итак, откройте сейчас phpMyAdmin и базу данных в которую установлена Joomla. И давайте добавим 2 новых поля в таблицу jos_users: website (website VARCHAR (255) not null) и gender (gender VARCHAR (3) not null) ну или выполните такой запрос в поле SQL запроса:</p>
<pre class="brush: sql; title: ; notranslate">
ALTER TABLE  `jos_users` ADD  `website` VARCHAR( 255 ) NOT NULL ,
ADD  `gender` VARCHAR( 20 ) NOT NULL
</pre>
<p>Продолжим. Откройте в любом текстовом редакторе(кроме Блокнота) файл <strong>{папка joomla}/libraries/joomla/database/table/user.php</strong> и после строки:</p>
<pre class="brush: php; title: ; notranslate">
var $params = null;
</pre>
<p>Вставляем:</p>
<pre class="brush: php; title: ; notranslate">
/**
* Description
*
* @var string
*/
var $website		= null;
/**
* Description
*
* @var string
*/
var $gender			= null;
</pre>
<p>Таким образом мы сообщим jooml&#39;е, что необходимо добавить значения полей в базу данных. Теперь находим файл {папка joomla}/components/com_user/views/register/tmpl/default.php (строка 74) и открываем его.<br />
Здесь нам необходимо добавить 2 поля в форму регистрации. Мы назовем их так же, как и поля в базе данных. Сверстаем тем же способом что и остальные поля&nbsp;&mdash; таблицей, смотрим:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;tr&gt;
	&lt;td height=&quot;40&quot;&gt;
		&lt;label for=&quot;website&quot;&gt;&lt;?php echo JText::_( 'WEBSITE' ); ?&gt;&lt;/label&gt;
	&lt;/td&gt;
	&lt;td&gt;
		&lt;input type=&quot;text&quot; id=&quot;website&quot; name=&quot;website&quot; size=&quot;40&quot; value=&quot;http://&quot; /&gt;
	&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
	&lt;td height=&quot;40&quot;&gt;&lt;?php echo JText::_( 'GENDER' ); ?&gt;&lt;/td&gt;
	&lt;td&gt;
		&lt;input type=&quot;radio&quot; id=&quot;g_m&quot; checked=&quot;true&quot; name=&quot;gender&quot; value=&quot;m&quot; /&gt;
		&lt;label for=&quot;g_m&quot;&gt;&lt;?php echo JText::_( 'MALE' ); ?&gt;&lt;/label&gt;
		&lt;br /&gt;
		&lt;input type=&quot;radio&quot; id=&quot;g_f&quot; name=&quot;gender&quot; value=&quot;f&quot; /&gt;
		&lt;label for=&quot;g_f&quot;&gt;&lt;?php echo JText::_( 'FEMALE' ); ?&gt;&lt;/label&gt;
	&lt;/td&gt;
&lt;/tr&gt;
</pre>
<p>Вот что получится у вас на данный момент:<br />
<img class="aligncenter" title="Вот что получится" src="http://img-eburg.fotki.yandex.ru/get/4529/110263975.0/0_70381_b066af5c_orig" alt="" width="581" height="118" /><br />
Немного пояснений.<br />
Дело в том, что в Joomla, как и во всех системах управления сайтом есть мощная система управления языками и куча фишек для управления ими. Но для программиста, пишущего свой код под CMS должно быть еще больше подобных возможностей. Класс JText в Joomla довольно прост в использовании.<br />
Давайте добавим в языковые файлы 4 строчки: WEBSITE, GENDER, MALE, FEMALE. Но для каждого компонента есть свой языковой файл. Открываем {папка joomla}/language/ru-RU/ru-RU.com_user.ini в любом текстовом редакторе и пишем в конце файла:</p>
<pre class="brush: plain; title: ; notranslate">
WEBSITE=Веб-сайт
GENDER=Пол
MALE=Мужской
FEMALE=Женский
</pre>
<p>Теперь откройте снова, и вот что у вас должно получиться:<br />
<a href="http://img-eburg.fotki.yandex.ru/get/4528/110263975.0/0_70384_642e9449_orig.png"><img class="aligncenter" title="Конечный результат" src="http://img-eburg.fotki.yandex.ru/get/4528/110263975.0/0_70384_642e9449_L" alt="" width="500" height="331" /></a><br />
Думаю, все легко и просто, никаких дополнительных действий не требуется.<br />
Но вот в чем еще казус&nbsp;&mdash; пользователь наверное захочет отредактировать свои данные если что. Поэтому откроем файл <strong>{папка joomla}/components/com_user/views/user/tmpl/form.php (строка 70)</strong> и вписываем чуть измененный код с формы регистрации(добавлено чтение из базы данных определенного параметра):</p>
<pre class="brush: xml; title: ; notranslate">
&lt;tr&gt;
	&lt;td height=&quot;40&quot;&gt;
		&lt;label for=&quot;website&quot;&gt;&lt;?php echo JText::_( 'WEBSITE' ); ?&gt;&lt;/label&gt;
	&lt;/td&gt;
	&lt;td&gt;
		&lt;input type=&quot;text&quot; id=&quot;website&quot; name=&quot;website&quot; size=&quot;40&quot; value=&quot;&lt;?php echo $this-&gt;escape($this-&gt;user-&gt;get('website'));?&gt;&quot; /&gt;
	&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;?php
$gend = $this-&gt;escape($this-&gt;user-&gt;get('gender'));
?&gt;
	&lt;td height=&quot;40&quot;&gt;&lt;?php echo JText::_( 'GENDER' ); ?&gt;&lt;/td&gt;
	&lt;td&gt;
		&lt;input type=&quot;radio&quot; id=&quot;g_m&quot; &lt;?php if($gend==&quot;m&quot; or $gend==&quot;&quot;): ?&gt; checked=&quot;true&quot; &lt;?php endif; ?&gt; name=&quot;gender&quot; value=&quot;m&quot; /&gt;
		&lt;label for=&quot;g_m&quot;&gt;&lt;?php echo JText::_( 'MALE' ); ?&gt;&lt;/label&gt;
		&lt;br /&gt;
		&lt;input type=&quot;radio&quot; id=&quot;g_f&quot; &lt;?php if($gend==&quot;f&quot;): ?&gt; checked=&quot;true&quot; &lt;?php endif; ?&gt; name=&quot;gender&quot; value=&quot;f&quot; /&gt;
		&lt;label for=&quot;g_f&quot;&gt;&lt;?php echo JText::_( 'FEMALE' ); ?&gt;&lt;/label&gt;
	&lt;/td&gt;
&lt;/tr&gt;
</pre>
<p>Все. Теперь пользователь сможет отредактировать данные о себе:<br />
<img alt="" src="http://img-eburg.fotki.yandex.ru/get/4427/110263975.0/0_70387_9018a7aa_orig" title="Центр пользователя" class="aligncenter" width="434" height="306" /><br />
Но возможность редактирования данных о пользователе должен иметь и администратор сайта. Теперь добавим эти поля в форму редактирования пользовательских данных в админ-панели.<br />
Откроем файл {папка joomla}/administrator/components/com_users/view/user/tmpl/form.php (строка 133) и добавим в соответствии со стилем формы новые поля:</p>
<pre class="brush: xml; title: ; notranslate">
	&lt;td class=&quot;key&quot;&gt;
		&lt;label for=&quot;website&quot;&gt;&lt;?php echo JText::_( 'WEBSITE' ); ?&gt;&lt;/label&gt;
	&lt;/td&gt;
	&lt;td&gt;
		&lt;input type=&quot;text&quot; id=&quot;website&quot; name=&quot;website&quot; size=&quot;40&quot; value=&quot;&lt;?php echo $this-&gt;escape($this-&gt;user-&gt;get('website'));?&gt;&quot; /&gt;
	&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;?php
$gend = $this-&gt;escape($this-&gt;user-&gt;get('gender'));
?&gt;
	&lt;td class=&quot;key&quot;&gt;&lt;?php echo JText::_( 'GENDER' ); ?&gt;&lt;/td&gt;
	&lt;td&gt;
		&lt;input type=&quot;radio&quot; id=&quot;g_m&quot; &lt;?php if($gend==&quot;m&quot; or $gend==&quot;&quot;): ?&gt; checked=&quot;true&quot; &lt;?php endif; ?&gt; name=&quot;gender&quot; value=&quot;m&quot; /&gt;
		&lt;label for=&quot;g_m&quot;&gt;&lt;?php echo JText::_( 'MALE' ); ?&gt;&lt;/label&gt;
		&lt;br /&gt;
		&lt;input type=&quot;radio&quot; id=&quot;g_f&quot; &lt;?php if($gend==&quot;f&quot;): ?&gt; checked=&quot;true&quot; &lt;?php endif; ?&gt; name=&quot;gender&quot; value=&quot;f&quot; /&gt;
		&lt;label for=&quot;g_f&quot;&gt;&lt;?php echo JText::_( 'FEMALE' ); ?&gt;&lt;/label&gt;
	&lt;/td&gt;
&lt;/tr&gt;
</pre>
<p>Вот что у нас получилось:<br />
<img alt="" src="http://img-eburg.fotki.yandex.ru/get/4528/110263975.0/0_70398_f246757c_orig" title="Результат в админ-панели" class="aligncenter" width="398" height="224" /></p>
<h3>Заключение</h3>
<p>Я показал вам как можно добавить произвольные поля профиля для Joomla! Их можно использовать как в своих целях, так и выводить в публичный просмотр. Следующую статью напишу про это, а пока что запомните, что поля могут быть самые разные, главное чтобы совпадали имена переменных в самом первом файле и в базе данных. Имена полей в HTML документах должны соответствовать именам полей в базе данных. В этом и заключается весь фокус. Удачи вам во всем!</p>
<img src="http://feeds.feedburner.com/~r/web-growerru/~4/xeqklThJU7o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://web-grower.ru/dobavlyaem-proizvolnye-polya-v-joomla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://web-grower.ru/dobavlyaem-proizvolnye-polya-v-joomla/</feedburner:origLink></item>
		<item>
		<title>Cuepoint.js</title>
		<link>http://feedproxy.google.com/~r/web-growerru/~3/cODTjjvBn_8/</link>
		<comments>http://web-grower.ru/cuepoint-js/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 08:20:52 +0000</pubDate>
		<dc:creator>Maniac</dc:creator>
				<category><![CDATA[Скрипты]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://webgrower.defite.ru/?p=2340</guid>
		<description><![CDATA[Библиотека позволяет создавать подписи и ссылки на определенные куски видео в html5-плеере. Для инициализации скрипта нужно подключить библиотеку и вставить код: Для создания ссылки на определенный момент в видео нужно вызвать следующий метод:]]></description>
			<content:encoded><![CDATA[<p><img src="http://img-fotki.yandex.ru/get/4424/34100975.1b/0_5e2e4_6cb81f9c_XL.jpg" alt="Cuepoint.js" /><br />
Библиотека позволяет создавать подписи и ссылки на определенные куски видео в html5-плеере.<br />
<span id="more-2340"></span><br />
Для инициализации скрипта нужно подключить библиотеку и вставить код:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function(){
  var slides = {5:&quot;Hello World&quot;} // Число слайдов и подпись
  cuepoint.init(slides); //инит
  cuepoint.play(); //начинаем проигрывать видео
});
</pre>
<p>Для создания ссылки на определенный момент в видео нужно вызвать следующий метод:</p>
<pre class="brush: jscript; title: ; notranslate">
$('a').click(function(){
  cuepoint.setTime(60); //время в секундах
});
</pre>
<img src="http://feeds.feedburner.com/~r/web-growerru/~4/cODTjjvBn_8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://web-grower.ru/cuepoint-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://web-grower.ru/cuepoint-js/</feedburner:origLink></item>
		<item>
		<title>uLogin — виджет авторизации</title>
		<link>http://feedproxy.google.com/~r/web-growerru/~3/AawUnEtOGBs/</link>
		<comments>http://web-grower.ru/ulogin-vidzhet-avtorizacii/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 22:11:30 +0000</pubDate>
		<dc:creator>Maniac</dc:creator>
				<category><![CDATA[Ссылки]]></category>
		<category><![CDATA[авторизация]]></category>

		<guid isPermaLink="false">http://webgrower.defite.ru/?p=2336</guid>
		<description><![CDATA[Еще один Loginza-подобный сервис авторизации на сайте с помощью имеющихся у вас под рукой социальных сетей. Например, можно собрать свой виджет, исходя из набора вконтакте-одноклассники-facebook-twitter-mail.ru-google-яндекс-живой журнал-openid. Также приятно, что установить виджет можно абсолютно везде – существуют модули на Drupal, Joomla, WordPress, SMF и т.д. С точки зрения техники: можно получать такие поля как first_name&#160;&#8212; имя [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://img-fotki.yandex.ru/get/4425/34100975.1b/0_5e299_b92a1668_M.jpg" alt="ulogin" class="leftimage" />Еще один Loginza-подобный сервис авторизации на сайте с помощью имеющихся у вас под рукой социальных сетей. Например, можно собрать свой виджет, исходя из набора вконтакте-одноклассники-facebook-twitter-mail.ru-google-яндекс-живой журнал-openid. Также приятно, что установить виджет можно абсолютно везде – существуют модули на Drupal, Joomla, WordPress, SMF и т.д. С точки зрения техники: можно получать такие поля как <strong>first_name</strong>&nbsp;&mdash; имя пользователя, <strong>last_name</strong>&nbsp;&mdash; фамилия, <strong>email</strong>&nbsp;&mdash; e-mail, <strong>nickname</strong>&nbsp;&mdash; псевдоним, <strong>bdate</strong>&nbsp;&mdash; дата рождения, <strong>sex</strong>&nbsp;&mdash; пол, <strong>photo</strong>&nbsp;&mdash; квадратная аватарка (до 100*100), <strong>photo_big</strong>&nbsp;&mdash; самая большая аватарка, которая выдаётся выбранной соц. сетью, <strong>city</strong>&nbsp;&mdash; город, <strong>country</strong>&nbsp;&mdash; страна.</p>
<p>uLogin являтся более простой в установке и использовании версией Loginza,  рекомендую к использованию.</p>
<img src="http://feeds.feedburner.com/~r/web-growerru/~4/AawUnEtOGBs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://web-grower.ru/ulogin-vidzhet-avtorizacii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://web-grower.ru/ulogin-vidzhet-avtorizacii/</feedburner:origLink></item>
		<item>
		<title>Создание веб-сайта</title>
		<link>http://feedproxy.google.com/~r/web-growerru/~3/5h65onIfUSo/</link>
		<comments>http://web-grower.ru/sozdanie-veb-sajta/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 14:32:17 +0000</pubDate>
		<dc:creator>Иван Хромов</dc:creator>
				<category><![CDATA[Уроки]]></category>

		<guid isPermaLink="false">http://webgrower.defite.ru/?p=2324</guid>
		<description><![CDATA[В продолжении темы про создание веб-сайтов, я записал еще одно видео, в котором рассказал все аспекты начала изучения HTML, и показал на примере создание веб страницы в редакторе Notepad++. Если раньше, начиная разработку сайта мы брались за мегабайты документации, то теперь, посмотрев видео вы сможете начать изучать язык HTML без особого труда. Я не стал [...]]]></description>
			<content:encoded><![CDATA[<p>В продолжении темы про создание веб-сайтов, я записал еще одно видео, в котором рассказал все аспекты начала изучения HTML, и показал на примере создание веб страницы в редакторе Notepad++. Если раньше, начиная разработку сайта мы брались за мегабайты документации, то теперь, посмотрев видео вы сможете начать изучать язык HTML без особого труда. Я не стал разжевывать информацию и раскладывать по полочкам все от А до Я, вся необходимая информация теперь имеется в Рунете. Важность практического применения своих знаний велика, так как практикуясь вы закрепляете свои знания.<br />
Под катом вы найдете видео и альтернативные способы его посмотреть, а так же код из урока.<br />
<span id="more-2324"></span><br />
<iframe src="http://vk.com/video_ext.php?oid=32250479&#038;id=161576717&#038;hash=b697a9c70fa07097&#038;hd=2" width="607" height="360" frameborder="0"></iframe></p>
<p><strong><a href="http://vimeo.com/33858534" target="_blank">Посмотреть на Vimeo &rarr;</a><br />
<a href="http://video.khromov.net/lesson_html_2/" target="_blank">Посмотреть оригинал &rarr;</a></strong></p>
<h2>Помощь</h2>
<p><a href="http://khromov.net/lessons/first.html" target="_blank">Посмотреть получившуюся страницу →</a></p>
<img src="http://feeds.feedburner.com/~r/web-growerru/~4/5h65onIfUSo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://web-grower.ru/sozdanie-veb-sajta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://web-grower.ru/sozdanie-veb-sajta/</feedburner:origLink></item>
		<item>
		<title>Web-Grower @ Tactoom</title>
		<link>http://feedproxy.google.com/~r/web-growerru/~3/fLVhyzIv818/</link>
		<comments>http://web-grower.ru/web-grower-tactoom/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 08:19:55 +0000</pubDate>
		<dc:creator>Maniac</dc:creator>
				<category><![CDATA[Блог]]></category>
		<category><![CDATA[web-grower]]></category>
		<category><![CDATA[наши страницы]]></category>
		<category><![CDATA[сервисы]]></category>

		<guid isPermaLink="false">http://webgrower.defite.ru/?p=2317</guid>
		<description><![CDATA[Tactoom.com&#160;&#8212; новая социалка от создателей Eventr.com, находящаяся сейчас в закрытой бете. Если вкратце&#160;&#8212; то это совокупность всех интересов пользователей, по которым можно получать новости. Таким образом, у каждого интереса есть своя страничка, которая может поддерживаться как одним, так и несколькими пользователями, указавшими конкретный интерес при написании новости. Для тех, кто уже в сервисе&#160;&#8212; ссылка на [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://img-fotki.yandex.ru/get/4522/34100975.1b/0_5bc22_c9a784ad_S.jpg" alt="Tactoom" class="leftimage" /><strong>Tactoom.com</strong>&nbsp;&mdash; новая социалка от создателей <strong>Eventr.com</strong>, находящаяся сейчас в закрытой бете. Если вкратце&nbsp;&mdash; то это совокупность всех интересов пользователей, по которым можно получать новости. Таким образом, у каждого интереса есть своя страничка, которая может поддерживаться как одним, так и несколькими пользователями, указавшими конкретный интерес при написании новости.</p>
<p>Для тех, кто уже в сервисе&nbsp;&mdash; ссылка на <a href="http://tactoom.com/interest/Web-Grower" target="_blank">страницу интереса Web-Grower</a>. Кого там нет&nbsp;&mdash; не расстраивайтесь, у меня есть еще два инвайта, могу пригласить.</p>
<img src="http://feeds.feedburner.com/~r/web-growerru/~4/fLVhyzIv818" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://web-grower.ru/web-grower-tactoom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://web-grower.ru/web-grower-tactoom/</feedburner:origLink></item>
		<item>
		<title>IdealForms — очередная стилизация форм</title>
		<link>http://feedproxy.google.com/~r/web-growerru/~3/SeH6QPmPqB0/</link>
		<comments>http://web-grower.ru/idealforms-ocherednaya-stilizaciya-form/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 13:19:19 +0000</pubDate>
		<dc:creator>Maniac</dc:creator>
				<category><![CDATA[Скрипты]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[формы]]></category>

		<guid isPermaLink="false">http://webgrower.defite.ru/?p=2311</guid>
		<description><![CDATA[IdealForms&#160;&#8212; небольшой фреймворк для стилизации элементов форм. Еще до недавнего времени для стилизации &#60;input&#62; пользовался Niceforms, однако у него были свои недостатки. Например, для смены дизайна формы приходилось рисовать новый спрайт. В IdealForms стилизация привязана к css, без использования изображений. Скрипт позволяет форме отлично себя чувствовать даже с отключенным JavaScript и поддерживается в IE 7+, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://img-fotki.yandex.ru/get/5312/34100975.1b/0_5bbe4_3478e26_M.jpg" alt="IdealForms" class="leftimage" /><strong>IdealForms</strong>&nbsp;&mdash; небольшой фреймворк для стилизации элементов форм. Еще до недавнего времени для стилизации <code>&lt;input&gt;</code> пользовался <a href="http://webgrower.defite.ru/niceforms-v20/" target="_blank">Niceforms</a>, однако у него были свои недостатки. Например, для смены дизайна формы приходилось рисовать новый спрайт. В IdealForms стилизация привязана к css, без использования изображений.<br />
<span id="more-2311"></span></p>
<p>Скрипт позволяет форме отлично себя чувствовать даже с отключенным JavaScript и поддерживается в IE 7+, Firefox 3+, Chrome 3+, Safari 3.1+ и Opera 11+.</p>
<h4>Использование</h4>
<p>1. Скачиваем, добавляем файлы в проект:<br />
<code>css/idealForms</code> и <code>js/idealForms.js</code></p>
<p>2. Загружаем стили:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;link href=&quot;css/reset.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;screen&quot;/&gt;
&lt;link href=&quot;css/idealForms/idealForms.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;screen&quot;/&gt;
&lt;link href=&quot;css/idealForms/idealForms-theme-sapphire.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;screen&quot;/&gt;
</pre>
<p>Последний файл отвечает за цветовую тему элементов вашей формы. Можно выбрать одну из трех предложенных или на основе них создать свою.</p>
<p>3. Добавляем необходимые библиотеки</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot; src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery-idealForms.js&quot;&gt;&lt;/script&gt;
</pre>
<p>4. Разметка будущей формы</p>
<pre class="brush: xml; title: ; notranslate">
&lt;form&gt;

    &lt;!-- Section --&gt;
    &lt;div class=&quot;idealWrap&quot;&gt; 

        &lt;label&gt;Custom&lt;/label&gt; 

        &lt;!-- Insert element here --&gt; 

    &lt;/div&gt;
    &lt;!-- End Section --&gt; 
&lt;/form&gt;
</pre>
<p>5. Разметка для элементов</p>
<p><strong>Текст</strong></p>
<pre class="brush: xml; title: ; notranslate">
&lt;input type=&quot;text&quot; id=&quot;One&quot;/&gt;
&lt;input type=&quot;password&quot; id=&quot;Two&quot;/&gt;
&lt;textarea id=&quot;Three&quot;&gt;&lt;/textarea&gt;
</pre>
<p><strong>Меню <code>&lt;select&gt;</code></strong></p>
<pre class="brush: xml; title: ; notranslate">
&lt;select id=&quot;options&quot; title=&quot;Select Option&quot;&gt;
    &lt;option&gt;One&lt;/option&gt;
    &lt;option&gt;Two&lt;/option&gt;
    &lt;option&gt;Three &lt;/option&gt;
    &lt;option&gt;Four&lt;/option&gt;
&lt;/select&gt;
</pre>
<p><strong>Радио и чекбоксы</strong></p>
<pre class="brush: xml; title: ; notranslate">
&lt;p&gt;
    &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;checks&quot;/&gt;Check 1&lt;/label&gt;&lt;br/&gt;
    &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;checks&quot;/&gt;Check 2&lt;/label&gt;&lt;br/&gt;
    &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;checks&quot;/&gt;Check 3&lt;/label&gt;
&lt;/p&gt;
&lt;p&gt;
    &lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;radios&quot;/&gt;Radio 1&lt;/label&gt;&lt;br/&gt;
    &lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;radios&quot;/&gt;Radio 2&lt;/label&gt;&lt;br/&gt;
    &lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;radios&quot;/&gt;Radio 3&lt;/label&gt;
&lt;/p&gt;
</pre>
<p><strong>Кнопки</strong></p>
<pre class="brush: xml; title: ; notranslate">
&lt;label&gt;&amp;nbsp;&lt;/label&gt;
&lt;input type=&quot;button&quot; value=&quot;One&quot;/&gt;
&lt;input type=&quot;button&quot; value=&quot;Two&quot;/&gt;
&lt;input type=&quot;submit&quot; value=&quot;Submit&quot;/&gt;
</pre>
<p><strong>Описание</strong></p>
<pre class="brush: xml; title: ; notranslate">
&lt;p&gt;Description One&lt;/p&gt;
&lt;p&gt;Description Two&lt;/p&gt;
</pre>
<p>6. Последний штрих</p>
<p>Разумеется, не забываем инициализировать скрипт:</p>
<pre class="brush: jscript; title: ; notranslate">
$('form');
</pre>
<p class="demo"><a target="_blank" href="http://jqidealforms.com/">Демонстрация формы</a></p>
<img src="http://feeds.feedburner.com/~r/web-growerru/~4/SeH6QPmPqB0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://web-grower.ru/idealforms-ocherednaya-stilizaciya-form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://web-grower.ru/idealforms-ocherednaya-stilizaciya-form/</feedburner:origLink></item>
	</channel>
</rss>

