Просмотр файла manual-ru/language.function.html.checkboxes.html

Размер файла: 7.85Kb
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. <title>{html_checkboxes}</title>
  5. <meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
  6. <link rel="home" href="index.html" title="Руководство по Smarty">
  7. <link rel="up" href="language.custom.functions.html" title="Chapter 8. Пользовательские Функции">
  8. <link rel="prev" href="language.function.fetch.html" title="{fetch}">
  9. <link rel="next" href="language.function.html.image.html" title="{html_image}">
  10. </head>
  11. <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
  12. <div class="navheader">
  13. <table width="100%" summary="Navigation header">
  14. <tr><th colspan="3" align="center">{html_checkboxes}</th></tr>
  15. <tr>
  16. <td width="20%" align="left">
  17. <a accesskey="p" href="language.function.fetch.html">Prev</a> </td>
  18. <th width="60%" align="center">Chapter 8. Пользовательские Функции</th>
  19. <td width="20%" align="right"> <a accesskey="n" href="language.function.html.image.html">Next</a>
  20. </td>
  21. </tr>
  22. </table>
  23. <hr>
  24. </div>
  25. <div class="sect1" title="{html_checkboxes}">
  26. <div class="titlepage"><div><div><h2 class="title" style="clear: both">
  27. <a name="language.function.html.checkboxes"></a>{html_checkboxes}</h2></div></div></div>
  28. <p>
  29. {html_checkboxes} является
  30. <a class="link" href="language.custom.functions.html" title="Chapter 8. Пользовательские Функции">пользовательской функцией</a>,
  31. которая создает группу флажков в HTML по указанной информации.
  32. Также она обеспечивает отметку флажков по умолчанию.
  33. Параметры values и output являются обязательными, если не указан атрибут
  34. options. Весь вывод идет в формате XHTML.
  35. </p>
  36. <div class="informaltable"><table border="1">
  37. <colgroup>
  38. <col align="center">
  39. <col align="center">
  40. <col align="center">
  41. <col align="center">
  42. <col>
  43. </colgroup>
  44. <thead><tr>
  45. <th align="center">Имя атрибута</th>
  46. <th align="center">Тип</th>
  47. <th align="center">Обязателен</th>
  48. <th align="center">По умолчанию</th>
  49. <th>Описание</th>
  50. </tr></thead>
  51. <tbody>
  52. <tr>
  53. <td align="center">name</td>
  54. <td align="center">string</td>
  55. <td align="center">Нет</td>
  56. <td align="center"><span class="emphasis"><em>checkbox</em></span></td>
  57. <td>название списка флажков</td>
  58. </tr>
  59. <tr>
  60. <td align="center">values</td>
  61. <td align="center">array</td>
  62. <td align="center">Да, если не указан атрибут options</td>
  63. <td align="center"><span class="emphasis"><em>n/a</em></span></td>
  64. <td>Массив значений для флажков</td>
  65. </tr>
  66. <tr>
  67. <td align="center">output</td>
  68. <td align="center">array</td>
  69. <td align="center">Да, если не указан атрибут options</td>
  70. <td align="center"><span class="emphasis"><em>n/a</em></span></td>
  71. <td>массив названий флажков</td>
  72. </tr>
  73. <tr>
  74. <td align="center">selected</td>
  75. <td align="center">string/array</td>
  76. <td align="center">Нет</td>
  77. <td align="center"><span class="emphasis"><em>пусто</em></span></td>
  78. <td>выбранный флажок(флажки)</td>
  79. </tr>
  80. <tr>
  81. <td align="center">options</td>
  82. <td align="center">associative array</td>
  83. <td align="center">Да, если не указаны атрибуты values и output</td>
  84. <td align="center"><span class="emphasis"><em>n/a</em></span></td>
  85. <td>Ассоциативнй массив значений и названий</td>
  86. </tr>
  87. <tr>
  88. <td align="center">separator</td>
  89. <td align="center">string</td>
  90. <td align="center">Нет</td>
  91. <td align="center"><span class="emphasis"><em>пусто</em></span></td>
  92. <td>строка разделяющая каждый флажок</td>
  93. </tr>
  94. <tr>
  95. <td align="center">labels</td>
  96. <td align="center">boolean</td>
  97. <td align="center">Нет</td>
  98. <td align="center"><span class="emphasis"><em>true</em></span></td>
  99. <td>добавляет &lt;label&gt;-тэги к выводу</td>
  100. </tr>
  101. <tr>
  102. <td align="center">assign</td>
  103. <td align="center">string</td>
  104. <td align="center">Нет</td>
  105. <td align="center"><span class="emphasis"><em>пусто</em></span></td>
  106. <td>сохранить тэги флажков в массив вместо вывода</td>
  107. </tr>
  108. </tbody>
  109. </table></div>
  110. <p>
  111. Все параметры, которые не указаны в списке, выводятся в виде
  112. пар name/value в каждом созданном тэге &lt;input&gt;.
  113. </p>
  114. <div class="example">
  115. <a name="id2687267"></a><p class="title"><b>Example 8.9. {html_checkboxes}</b></p>
  116. <div class="example-contents">
  117. <pre class="programlisting">
  118.  
  119. &lt;?php
  120.  
  121. $smarty-&gt;assign('cust_ids', array(1000,1001,1002,1003));
  122. $smarty-&gt;assign('cust_names', array(
  123. 'Joe Schmoe',
  124. 'Jack Smith',
  125. 'Jane Johnson',
  126. 'Charlie Brown')
  127. );
  128. $smarty-&gt;assign('customer_id', 1001);
  129.  
  130. ?&gt;
  131.  
  132. </pre>
  133. <p>
  134. шаблон:
  135. </p>
  136. <pre class="programlisting">
  137.  
  138. {html_checkboxes name="id" values=$cust_ids output=$cust_names
  139. selected=$customer_id separator="&lt;br /&gt;"}
  140.  
  141. </pre>
  142. <p>
  143. или где PHP код:
  144. </p>
  145. <pre class="programlisting">
  146.  
  147. &lt;?php
  148.  
  149. require('Smarty.class.php');
  150. $smarty = new Smarty;
  151. $smarty-&gt;assign('cust_checkboxes', array(
  152. 1000 =&gt; 'Joe Schmoe',
  153. 1001 =&gt; 'Jack Smith',
  154. 1002 =&gt; 'Jane Johnson',
  155. 1003 =&gt; 'Charlie Brown')
  156. );
  157. $smarty-&gt;assign('customer_id', 1001);
  158.  
  159. ?&gt;
  160.  
  161. </pre>
  162. <p>
  163. шаблон:
  164. </p>
  165. <pre class="programlisting">
  166.  
  167. {html_checkboxes name="id" options=$cust_checkboxes selected=$customer_id separator="&lt;br /&gt;"}
  168.  
  169. </pre>
  170. <p>
  171. оба примера выведут:
  172. </p>
  173. <pre class="screen">
  174.  
  175. &lt;label&gt;&lt;input type="checkbox" name="id[]" value="1000" /&gt;Joe Schmoe&lt;/label&gt;&lt;br /&gt;
  176. &lt;label&gt;&lt;input type="checkbox" name="id[]" value="1001" checked="checked" /&gt;Jack Smith&lt;/label&gt;&lt;br /&gt;
  177. &lt;label&gt;&lt;input type="checkbox" name="id[]" value="1002" /&gt;Jane Johnson&lt;/label&gt;&lt;br /&gt;
  178. &lt;label&gt;&lt;input type="checkbox" name="id[]" value="1003" /&gt;Charlie Brown&lt;/label&gt;&lt;br /&gt;
  179.  
  180. </pre>
  181. </div>
  182. </div>
  183. <br class="example-break"><div class="example">
  184. <a name="id2687353"></a><p class="title"><b>Example 8.10. 
  185. Пример с базой данных (к примеру, PEAR или ADODB):
  186. </b></p>
  187. <div class="example-contents">
  188. <pre class="programlisting">
  189.  
  190. &lt;?php
  191.  
  192. $sql = 'select type_id, types from types order by type';
  193. $smarty-&gt;assign('types',$db-&gt;getAssoc($sql));
  194.  
  195. $sql = 'select * from contacts where contact_id=12';
  196. $smarty-&gt;assign('contact',$db-&gt;getRow($sql));
  197.  
  198. ?&gt;
  199.  
  200. </pre>
  201. <pre class="programlisting">
  202.  
  203. {html_checkboxes name="type" options=$types selected=$contact.type_id separator="&lt;br /&gt;"}
  204.  
  205. </pre>
  206. </div>
  207. </div>
  208. <br class="example-break"><p>
  209. См. также
  210. <a class="link" href="language.function.html.radios.html" title="{html_radios}">{html_radios}</a>
  211. и
  212. <a class="link" href="language.function.html.options.html" title="{html_options}">{html_options}</a>
  213. </p>
  214. </div>
  215. <div class="navfooter">
  216. <hr>
  217. <table width="100%" summary="Navigation footer">
  218. <tr>
  219. <td width="40%" align="left">
  220. <a accesskey="p" href="language.function.fetch.html">Prev</a> </td>
  221. <td width="20%" align="center"><a accesskey="u" href="language.custom.functions.html">Up</a></td>
  222. <td width="40%" align="right"> <a accesskey="n" href="language.function.html.image.html">Next</a>
  223. </td>
  224. </tr>
  225. <tr>
  226. <td width="40%" align="left" valign="top">{fetch} </td>
  227. <td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td>
  228. <td width="40%" align="right" valign="top"> {html_image}</td>
  229. </tr>
  230. </table>
  231. </div>
  232. </body>
  233. </html>