functions.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <php>
  2. if (!function_exists('_parse_vars')) {
  3. function _parse_vars($vars,$inputName,$level=1,$widget='',$file_id=''){
  4. </php>
  5. <foreach name="vars" item="var" key="varName">
  6. <fieldset>
  7. <div class="form-group">
  8. <present name="var.title">
  9. <label class="control-label">
  10. {$var.title}
  11. <notempty name="var.rule.require">
  12. <span class="form-required">*</span>
  13. </notempty>
  14. </label>
  15. </present>
  16. <switch name="var.type">
  17. <case value="text">
  18. <div class="controls">
  19. <present name="var.dataSource">
  20. <input type="text" name="{$inputName}[{$varName}_text_]" class="form-control"
  21. onclick="doSelectData(this)"
  22. data-source="{:base64_encode(json_encode($var['dataSource']))}"
  23. data-title="请选择{$var.title}"
  24. value="{$vars[$varName]['valueText']|default=''}"
  25. placeholder="{$var.placeholder|default=''}">
  26. <input type="hidden" name="{$inputName}[{$varName}]" class="form-control"
  27. value="{$vars[$varName]['value']}">
  28. <else/>
  29. <input type="text" name="{$inputName}[{$varName}]" class="form-control"
  30. value="{$vars[$varName]['value']}"
  31. placeholder="{$var.placeholder|default=''}">
  32. </present>
  33. <present name="var.tip">
  34. <p class="help-block">{$var.tip}</p>
  35. </present>
  36. </div>
  37. </case>
  38. <case value="textarea">
  39. <div class="controls">
  40. <textarea name="{$inputName}[{$varName}]"
  41. class="form-control"
  42. placeholder="{$var.placeholder|default=''}">{$vars[$varName]['value']}</textarea>
  43. <present name="var.tip">
  44. <p class="help-block">{$var.tip}</p>
  45. </present>
  46. </div>
  47. </case>
  48. <case value="date">
  49. <div class="controls">
  50. <input type="text" name="{$inputName}[{$varName}]" class="form-control js-bootstrap-date"
  51. value="{$vars[$varName]['value']}"
  52. placeholder="{$var.placeholder|default=''}">
  53. <present name="var.tip">
  54. <p class="help-block">{$var.tip}</p>
  55. </present>
  56. </div>
  57. </case>
  58. <case value="datetime">
  59. <div class="controls">
  60. <input type="text" name="{$inputName}[{$varName}]" class="form-control js-bootstrap-datetime"
  61. value="{$vars[$varName]['value']}"
  62. placeholder="{$var.placeholder|default=''}">
  63. <present name="var.tip">
  64. <p class="help-block">{$var.tip}</p>
  65. </present>
  66. </div>
  67. </case>
  68. <case value="image">
  69. <div class="controls">
  70. <input type="hidden" name="{$inputName}[{$varName}]" class="form-control"
  71. value="{$vars[$varName]['value']}" id="js-{$widget}{$varName}-input">
  72. <div>
  73. <a href="javascript:doUploadOneImage('图片上传','#js-{$widget}{$varName}-input');">
  74. <if condition="empty($vars[$varName]['value'])">
  75. <img src="__TMPL__/public/assets/images/default-thumbnail.png"
  76. id="js-{$widget}{$varName}-input-preview"
  77. width="135" style="cursor: pointer"/>
  78. <else/>
  79. <img src="{:cmf_get_image_preview_url($vars[$varName]['value'])}"
  80. id="js-{$widget}{$varName}-input-preview"
  81. width="135" style="cursor: pointer"/>
  82. </if>
  83. </a>
  84. <if condition="!empty($vars[$varName]['value'])">
  85. <br>
  86. <button id="js-{$widget}{$varName}-button-remove"
  87. defaultImage="__TMPL__/public/assets/images/default-thumbnail.png"
  88. class="removeImage btn btn-sm" type="button"
  89. onclick="removeImage('{$widget}{$varName}')">取消图片
  90. </button>
  91. </if>
  92. </div>
  93. <present name="var.tip">
  94. <p class="help-block">{$var.tip}</p>
  95. </present>
  96. </div>
  97. </case>
  98. <case value="number">
  99. <div class="controls">
  100. <input type="number" name="{$inputName}[{$varName}]" class="form-control"
  101. value="{$vars[$varName]['value']}"
  102. placeholder="{$var.placeholder|default=''}">
  103. <present name="var.tip">
  104. <p class="help-block">{$var.tip}</p>
  105. </present>
  106. </div>
  107. </case>
  108. <case value="location">
  109. <div class="controls">
  110. <input type="text" name="{$inputName}[{$varName}_text_]" class="form-control"
  111. onclick="doSelectLocation(this)"
  112. data-title="请选择{$var.title}"
  113. value="{$vars[$varName]['valueText']|default=''}"
  114. placeholder="{$var.placeholder|default=''}">
  115. <input type="hidden" name="{$inputName}[{$varName}]" class="form-control"
  116. value="{$vars[$varName]['value']}">
  117. <present name="var.tip">
  118. <p class="help-block">{$var.tip}</p>
  119. </present>
  120. </div>
  121. </case>
  122. <case value="file">
  123. <div class="controls">
  124. <div class="input-group">
  125. <input type="text" name="{$inputName}[{$varName}]" class="form-control"
  126. value="{$vars[$varName]['value']}" id="js-{$widget}{$varName}-input-file"
  127. placeholder="{$var.placeholder|default=''}">
  128. <span class="input-group-addon"> <a
  129. href="javascript:doUploadOne('图片上传','#js-{$widget}{$varName}-input-file','file');">上传</a></span>
  130. </div>
  131. <present name="var.tip">
  132. <p class="help-block">{$var.tip}</p>
  133. </present>
  134. </div>
  135. </case>
  136. <case value="color">
  137. <div class="controls">
  138. <input type="text" name="{$inputName}[{$varName}]" class="form-control js-color"
  139. value="{$vars[$varName]['value']}" id="js-color-{$widget}{$varName}"
  140. placeholder="{$var.placeholder|default=''}">
  141. <present name="var.tip">
  142. <p class="help-block">{$var.tip}</p>
  143. </present>
  144. </div>
  145. </case>
  146. <case value="array">
  147. <div class="controls">
  148. <php>
  149. $arrayValueText=is_array($var['value'])&&count($var['value'])>0?count($var['value']).'条数据,点击添加更多...':'';
  150. </php>
  151. <textarea class="form-control" placeholder="点击添加数据"
  152. onclick="doEditArrayData(this)"
  153. data-var="{$varName}"
  154. data-widget="{$widget}"
  155. data-title="编辑{$var.title}"
  156. data-file_id="{$file_id}">{$arrayValueText}</textarea>
  157. <present name="var.tip">
  158. <p class="help-block">{$var.tip}</p>
  159. </present>
  160. </div>
  161. </case>
  162. <case value="select">
  163. <div class="controls">
  164. <php>
  165. $value= $vars[$varName]['value'];
  166. $options = $vars[$varName]['options'];
  167. </php>
  168. <select name="{$inputName}[{$varName}]" class="form-control">
  169. <foreach name="options" item="optionItem" key="optionKey">
  170. <php>$optionSelected=$optionKey==$value?"selected":"";</php>
  171. <option value="{$optionKey}" {$optionSelected}>{$optionItem}
  172. </option>
  173. </foreach>
  174. </select>
  175. <present name="var.tip">
  176. <p class="help-block">{$var.tip}</p>
  177. </present>
  178. </div>
  179. </case>
  180. <case value="slide">
  181. <div class="controls">
  182. <input type="text" name="{$inputName}[{$varName}]" class="form-control"
  183. value="{$vars[$varName]['value']}">
  184. <present name="var.tip">
  185. <p class="help-block">{$var.tip}</p>
  186. </present>
  187. </div>
  188. </case>
  189. <case value="rich_text">
  190. <div class="controls">
  191. <div>
  192. <script type="text/plain" class="rich_text_content" name="{$inputName}[{$varName}]">{$vars[$varName]['value']}</script>
  193. </div>
  194. <present name="var.tip">
  195. <p class="help-block">{$var.tip}</p>
  196. </present>
  197. </div>
  198. </case>
  199. </switch>
  200. </div>
  201. </fieldset>
  202. </foreach>
  203. <php>
  204. }
  205. }
  206. </php>