<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Form Api on Jeremy Jackson</title>
    <link>https://new.tsjee.ru/tags/form-api/</link>
    <description>Recent content in Form Api on Jeremy Jackson</description>
    <generator>Hugo</generator>
    <language>ru</language>
    <lastBuildDate>Tue, 08 May 2012 01:58:40 +0000</lastBuildDate>
    <atom:link href="https://new.tsjee.ru/tags/form-api/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Form API Drupal 7</title>
      <link>https://new.tsjee.ru/posts/2012-05-08-form-api-drupal-7/</link>
      <pubDate>Tue, 08 May 2012 01:58:40 +0000</pubDate>
      <guid>https://new.tsjee.ru/posts/2012-05-08-form-api-drupal-7/</guid>
      <description>&lt;p&gt;Примеры создания форм.&lt;/p&gt;&#xA;&lt;p&gt;Поле с картинкой или файлом:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#79c0ff&#34;&gt;$form&lt;/span&gt;[&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;img&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ff7b72&#34;&gt;array&lt;/span&gt;(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;#type&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;managed_file&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;#title&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&amp;gt;&lt;/span&gt; t(&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;Attach Image&amp;#39;&lt;/span&gt;), &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;#default_value&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&amp;gt;&lt;/span&gt; (&lt;span style=&#34;color:#79c0ff&#34;&gt;$gal&lt;/span&gt;) &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;?&lt;/span&gt; &lt;span style=&#34;color:#79c0ff&#34;&gt;$img&lt;/span&gt;&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;-&amp;gt;&lt;/span&gt;fid &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#8b949e;font-style:italic&#34;&gt;//дефалтное значение file id&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;#upload_location&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;public://calendar&amp;#39;&lt;/span&gt;, &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;#required&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72&#34;&gt;TRUE&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Поле для ввода текста&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#79c0ff&#34;&gt;$form&lt;/span&gt;[&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;title&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ff7b72&#34;&gt;array&lt;/span&gt;(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;#type&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;textfield&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;#title&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;Название&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;#required&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72&#34;&gt;TRUE&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;#attributes&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72&#34;&gt;array&lt;/span&gt;(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&#x9;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;id&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;my_doc_title&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&#x9;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;autocomplete&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;off&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;#description&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#39;Введите название документа. Под этим названием вы будете его видеть у себя в личном кабинете.&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    );&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Ошибка: Используемый в поле Attach Image файл не может быть использован.</title>
      <link>https://new.tsjee.ru/posts/2011-12-27-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D0%BC%D1%8B%D0%B9-%D0%B2-%D0%BF%D0%BE%D0%BB%D0%B5-attach-image-%D1%84%D0%B0%D0%B9%D0%BB-%D0%BD%D0%B5-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%B1%D1%8B%D1%82%D1%8C-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD/</link>
      <pubDate>Tue, 27 Dec 2011 13:41:24 +0000</pubDate>
      <guid>https://new.tsjee.ru/posts/2011-12-27-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D0%BC%D1%8B%D0%B9-%D0%B2-%D0%BF%D0%BE%D0%BB%D0%B5-attach-image-%D1%84%D0%B0%D0%B9%D0%BB-%D0%BD%D0%B5-%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%B1%D1%8B%D1%82%D1%8C-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD/</guid>
      <description>&lt;p&gt;При работе с файлами в form api , есть несколько не очевидных тонкостей, которые превращаются в грабли.&#xA;Во-первых, необходимо знать, что у файлов есть статус, &lt;strong&gt;$file-&amp;gt;status&lt;/strong&gt;, 0 - временный, 1 - коренной. То есть если вы загрузили через форму ваш файл, и не задали ему нужный статус, при первом запуске крона, он весело помашет вам ручкой, и удалиться в тар-тарары&#xA;Во-вторых, у файла есть счетчик использования, назовем его так. Он нужен, чтобы не удалить файл используемые той или иной сущностью. И если вы к вашему загруженному файлу не прибавите единичку, при сохранение после редактирования, на русском языке, вылезет следующая ошибка, препятствующая спокойной жизни : Используемый в поле Attach Image файл не может быть использован.&#xA;Далее, представим код, правильного обращения с файлами:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cтроитель форм от лулоботов</title>
      <link>https://new.tsjee.ru/posts/2011-11-16-c%D1%82%D1%80%D0%BE%D0%B8%D1%82%D0%B5%D0%BB%D1%8C-%D1%84%D0%BE%D1%80%D0%BC-%D0%BE%D1%82-%D0%BB%D1%83%D0%BB%D0%BE%D0%B1%D0%BE%D1%82%D0%BE%D0%B2/</link>
      <pubDate>Wed, 16 Nov 2011 06:10:47 +0000</pubDate>
      <guid>https://new.tsjee.ru/posts/2011-11-16-c%D1%82%D1%80%D0%BE%D0%B8%D1%82%D0%B5%D0%BB%D1%8C-%D1%84%D0%BE%D1%80%D0%BC-%D0%BE%D1%82-%D0%BB%D1%83%D0%BB%D0%BE%D0%B1%D0%BE%D1%82%D0%BE%D0%B2/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://quicksketch.org/demos/form-builder-example&#34;&gt;http://quicksketch.org/demos/form-builder-example&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Добавление текста в форму</title>
      <link>https://new.tsjee.ru/posts/2011-07-29-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0-%D0%B2-%D1%84%D0%BE%D1%80%D0%BC%D1%83/</link>
      <pubDate>Fri, 29 Jul 2011 01:57:39 +0000</pubDate>
      <guid>https://new.tsjee.ru/posts/2011-07-29-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0-%D0%B2-%D1%84%D0%BE%D1%80%D0%BC%D1%83/</guid>
      <description>&lt;p&gt;Drupal 7&#xA;$form[&amp;rsquo;label&amp;rsquo;] = array(&#xA;&amp;lsquo;#markup&amp;rsquo; =&amp;gt; &amp;ldquo;{&amp;rdquo;#&amp;quot; * i} Привет!&amp;quot;,&#xA;);&lt;/p&gt;&#xA;&lt;p&gt;Drupal 6&#xA;$form[&amp;rsquo;label&amp;rsquo;] = array(&#xA;&amp;lsquo;#value&amp;rsquo; =&amp;gt; &amp;ldquo;{&amp;rdquo;#&amp;quot; * i} Привет!&amp;quot;,&#xA;);&lt;/p&gt;</description>
    </item>
    <item>
      <title>Два селекта на ajax</title>
      <link>https://new.tsjee.ru/posts/2011-07-23-%D0%B4%D0%B2%D0%B0-%D1%81%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D0%B0-%D0%BD%D0%B0-ajax/</link>
      <pubDate>Sat, 23 Jul 2011 13:57:37 +0000</pubDate>
      <guid>https://new.tsjee.ru/posts/2011-07-23-%D0%B4%D0%B2%D0%B0-%D1%81%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D0%B0-%D0%BD%D0%B0-ajax/</guid>
      <description>&lt;p&gt;Два селекта: марка и модель. Выбираем марку и у нас подгружается список моделей. В коллбэк функции возвращаем форму, которую хотим изменить. Через** $form_state** получаем значение.&#xA;Будьте внимательны, форма перестраивается занова, но визуально меняется только изменяющийся элемент.&lt;/p&gt;&#xA;&lt;p&gt;//функция создания формы&#xA;function bull_form($form, $form_state,$nid = NULL) {&#xA;//запрос к таксономии для заполнения селекта&#xA;$query = db_select(&amp;rsquo;taxonomy_term_data&amp;rsquo;, &amp;rsquo;t&amp;rsquo;);&#xA;$query-&amp;gt;innerJoin(&amp;rsquo;taxonomy_term_hierarchy&amp;rsquo;, &amp;lsquo;r&amp;rsquo;, &amp;rsquo;t.tid = r.tid&amp;rsquo;);&#xA;$query-&amp;gt;fields(&amp;lsquo;r&amp;rsquo;,array(&amp;lsquo;parent&amp;rsquo;));&#xA;$query-&amp;gt;fields(&amp;rsquo;t&amp;rsquo;);&#xA;$query-&amp;gt;condition(&amp;lsquo;r.parent&amp;rsquo;, PARENT, &amp;lsquo;=&amp;rsquo; );&#xA;$query-&amp;gt;orderBy(&amp;rsquo;t.name&amp;rsquo;, &amp;lsquo;ASC&amp;rsquo;);&#xA;$result = $query-&amp;gt;execute();&#xA;$options = array();&#xA;//заполняем option для select&#xA;foreach($result as $item){&#xA;$options[$item-&amp;gt;tid] = $item-&amp;gt;name;&#xA;}&#xA;//проверям выбрана ли марка, делаем запрос по моделям этой марки (то есть пришел ли запрос от аякса)&#xA;if(isset($form_state[&amp;lsquo;values&amp;rsquo;][&amp;lsquo;marka&amp;rsquo;])) {&#xA;$tid = $form_state[&amp;lsquo;values&amp;rsquo;][&amp;lsquo;marka&amp;rsquo;];&#xA;$query = db_select(&amp;rsquo;taxonomy_term_data&amp;rsquo;, &amp;rsquo;t&amp;rsquo;);&#xA;$query-&amp;gt;innerJoin(&amp;rsquo;taxonomy_term_hierarchy&amp;rsquo;, &amp;lsquo;r&amp;rsquo;, &amp;rsquo;t.tid = r.tid&amp;rsquo;);&#xA;$query-&amp;gt;fields(&amp;rsquo;t&amp;rsquo;);&#xA;$query-&amp;gt;fields(&amp;lsquo;r&amp;rsquo;,array(&amp;lsquo;parent&amp;rsquo;));&#xA;$query-&amp;gt;condition(&amp;lsquo;r.parent&amp;rsquo;, $tid, &amp;lsquo;=&amp;rsquo; );&#xA;$query-&amp;gt;orderBy(&amp;rsquo;t.name&amp;rsquo;, &amp;lsquo;ASC&amp;rsquo;);&#xA;$result = $query-&amp;gt;execute();&#xA;$options2 = array();&#xA;//собираем опции для селекта&#xA;foreach($result as $item){&#xA;$options2[$item-&amp;gt;tid] = $item-&amp;gt;name;&#xA;}&#xA;}&#xA;//    селект марки&#xA;$form[&amp;rsquo;left&amp;rsquo;][&amp;lsquo;marka&amp;rsquo;] = array (&#xA;&amp;lsquo;#type&amp;rsquo; =&amp;gt; &amp;lsquo;select&amp;rsquo;,&#xA;&amp;lsquo;#title&amp;rsquo; =&amp;gt; t(&amp;lsquo;Producer&amp;rsquo;),&#xA;&amp;lsquo;#options&amp;rsquo; =&amp;gt; $options,&#xA;&amp;lsquo;#ajax&amp;rsquo; =&amp;gt; array(&#xA;//прописываем какую звать функцию при изменение селекта&#xA;&amp;lsquo;callback&amp;rsquo; =&amp;gt; &amp;lsquo;ajax_get_models&amp;rsquo;,&#xA;//какой элемент  html в форме заменять&#xA;&amp;lsquo;wrapper&amp;rsquo; =&amp;gt; &amp;lsquo;replace_models_div&amp;rsquo;,&#xA;), &lt;br&gt;&#xA;);&#xA;$form[&amp;lsquo;right&amp;rsquo;][&amp;lsquo;model&amp;rsquo;] = array (&#xA;&amp;lsquo;#type&amp;rsquo; =&amp;gt; &amp;lsquo;select&amp;rsquo;,&#xA;&amp;lsquo;#title&amp;rsquo; =&amp;gt; t(&amp;lsquo;Model&amp;rsquo;),&#xA;&amp;lsquo;#options&amp;rsquo; =&amp;gt; (isset($options2)) ? $options2 : array(&amp;lsquo;choose model&amp;rsquo;),&#xA;//оборачиваем в div для замены&#xA;&amp;lsquo;#prefix&amp;rsquo; =&amp;gt; &amp;lsquo;&amp;rsquo;,&#xA;&amp;lsquo;#suffix&amp;rsquo; =&amp;gt; &amp;lsquo;&amp;rsquo;,&lt;br&gt;&#xA;);&#xA;return $form;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
